{"id":18767754,"url":"https://github.com/lightstep/lightstep-action-snapshot","last_synced_at":"2025-04-13T06:32:29.734Z","repository":{"id":56201792,"uuid":"290616124","full_name":"lightstep/lightstep-action-snapshot","owner":"lightstep","description":"GitHub Action that captures full distributed system behavior at a point in time.","archived":false,"fork":false,"pushed_at":"2020-11-30T20:22:47.000Z","size":1709,"stargazers_count":9,"open_issues_count":0,"forks_count":6,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-26T23:21:36.654Z","etag":null,"topics":["github-actions"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lightstep.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-08-26T22:16:07.000Z","updated_at":"2024-07-10T22:35:53.000Z","dependencies_parsed_at":"2023-01-04T21:34:39.891Z","dependency_job_id":null,"html_url":"https://github.com/lightstep/lightstep-action-snapshot","commit_stats":{"total_commits":18,"total_committers":1,"mean_commits":18.0,"dds":0.0,"last_synced_commit":"166ec5f31d611858ebe9ed3437848e8fe675fb89"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lightstep%2Flightstep-action-snapshot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lightstep%2Flightstep-action-snapshot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lightstep%2Flightstep-action-snapshot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lightstep%2Flightstep-action-snapshot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lightstep","download_url":"https://codeload.github.com/lightstep/lightstep-action-snapshot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248525154,"owners_count":21118616,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["github-actions"],"created_at":"2024-11-07T19:08:27.909Z","updated_at":"2025-04-13T06:32:25.594Z","avatar_url":"https://github.com/lightstep.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Lightstep Services Change Report \n\nThe `lightstep/lightstep-action-snapshot` action takes a [snapshot](https://lightstep.com/blog/snapshots-detailed-system-behavior-saved-shareable/) of a service in Lightstep and optionally attaches analysis of existing snapshot(s) to related pull requests or issues that helps developers understand how their production services change over time.\n\nSnapshots help you correlate code changes in GitHub with latency and errors in different environments.\n\n![Example Output in a PR](./examples/example-screenshot.png)\n\n## Requirements\n\n### Lightstep\n\n  * Instrumented service(s) running in a production environment ([create account here](https://app.lightstep.com/signup))\n  * Lightstep [API key](https://docs.lightstep.com/docs/create-and-manage-api-keys)\n\n## Usage\n\nThis action can be run on `ubuntu-latest` GitHub Actions runner.\n\nTaking a snapshot requires one step and no other dependencies:\n\n```\n    steps:  \n      - name: Take Lightstep Snapshot\n        id: lightstep-snapshot\n        with:\n          lightstep_api_key: ${{ secrets.LIGHTSTEP_API_KEY }}\n          lightstep_organization: org\n          lightstep_project: project\n          # See https://api-docs.lightstep.com/reference#query-syntax\n          # for supported queries.\n          lightstep_snapshot_query: service IN (\"frontend\")\n```\n\nMost workflows will involve taking a snapshot *and* performing analysis on that snapshot, usually in the context of a GitHub PR or Issue. See examples below.\n\n## Example Workfkows\n\n* [Take a snapshot in response to an API trigger](./examples/workflows/snapshot.yml)\n* [Take a snapshot after a deploy and get a report of what changed as a pull request comment](./examples/workflows/after_deploy.yml)\n* [Take a snapshot when a specific label is applied to an issue](./examples/workflows/snapshot_to_issue.yml)\n\n## Inputs\n\nThe following are **required** and can also be passed as environment variables:\n\n| Action Input             | Env var                   |\n| ------------------------ | ------------------------- |\n| `lightstep_organization` | `LIGHTSTEP_ORGANIZATION`  |\n| `lightstep_project`      | `LIGHTSTEP_PROJECT`       |\n| `lightstep_service`      | `LIGHTSTEP_SERVICE`       |\n| `lightstep_api_key`      | `LIGHTSTEP_API_KEY`       |\n\nTo take a snapshot, the following input is **required**:\n\n| Action Input               | Description                                                                                                |\n| -------------------------- | ---------------------------------------------------------------------------------------------------------- |\n| `lightstep_snapshot_query` | [Query](https://api-docs.lightstep.com/reference#query-syntax) for what telemetry to collect in a snapshot |\n\nTo analyze a snapshot, the following input is **required**:\n\n| Action Input               | Description                                                         |\n| -------------------------- | ------------------------------------------------------------------- |\n| `lightstep_snapshot_id`    | Existing snapshot id to analyze and add as a comment on an issue/PR |\n\n\nThe following are **optional**:\n\n| Action Input                    | Description                                         |\n| ------------------------------- | --------------------------------------------------- |\n| `lightstep_snapshot_compare_id` | Snapshot to compare with `lightstep_snapshot_id` - if set to `*` will find the most recent snapshot  |\n| `disable_comment`               | Prevents a comment from being added to an issue/PR  |\n\n## Outputs\n\n| Action Input             | Summary                            |\n| ------------------------ | ---------------------------------- |\n| `lightstep_snapshot_id`  | ID of the taken snapshot           |\n| `lightstep_snapshot_md`  | Markdown analysis of the snapshot  |\n\n\n## Using locally\n\nThis action can also be used with the [`act`](https://github.com/nektos/act) tool to run this action locally.\n\nFor example, this act with the example snapshot workflow in this repository to take a snapshot from a local environment:\n\n```\n  $ export LIGHTSTEP_API_KEY=your-api-key\n  $ act deployment -s LIGHTSTEP_API_KEY=$LIGHTSTEP_API_KEY -W examples/workflows/snapshot.yml\n```\n\n## License\n\nApache License 2.0\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flightstep%2Flightstep-action-snapshot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flightstep%2Flightstep-action-snapshot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flightstep%2Flightstep-action-snapshot/lists"}