{"id":13461498,"url":"https://github.com/grafana/tempo","last_synced_at":"2025-09-09T20:14:55.724Z","repository":{"id":37079123,"uuid":"236055696","full_name":"grafana/tempo","owner":"grafana","description":"Grafana Tempo is a high volume, minimal dependency distributed tracing backend.","archived":false,"fork":false,"pushed_at":"2025-05-05T20:10:21.000Z","size":172302,"stargazers_count":4427,"open_issues_count":158,"forks_count":569,"subscribers_count":181,"default_branch":"main","last_synced_at":"2025-05-05T20:21:33.156Z","etag":null,"topics":["distributed-tracing","grafana"],"latest_commit_sha":null,"homepage":"https://grafana.com/oss/tempo/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/grafana.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":"SECURITY.md","support":null,"governance":"GOVERNANCE.md","roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-01-24T18:05:02.000Z","updated_at":"2025-05-05T18:05:16.000Z","dependencies_parsed_at":"2024-11-07T13:36:54.564Z","dependency_job_id":"3f973b2f-7e55-4653-ac96-14b881401fee","html_url":"https://github.com/grafana/tempo","commit_stats":{"total_commits":2812,"total_committers":236,"mean_commits":"11.915254237288135","dds":0.6866998577524893,"last_synced_commit":"109f8d0b2bf64d83b97242af9d793425652eaa2a"},"previous_names":[],"tags_count":57,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grafana%2Ftempo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grafana%2Ftempo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grafana%2Ftempo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grafana%2Ftempo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/grafana","download_url":"https://codeload.github.com/grafana/tempo/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253928428,"owners_count":21985793,"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":["distributed-tracing","grafana"],"created_at":"2024-07-31T11:00:40.754Z","updated_at":"2025-05-13T10:49:18.367Z","avatar_url":"https://github.com/grafana.png","language":"Go","funding_links":[],"categories":["Go","7. Storage","开源类库","others","Distributed Tracing Solutions","Monitor","APM Monitoring","Observability"],"sub_categories":["Tracing","监控告警","Open Source Tools","Backend","Distributed Tracing","Streaming Operations"],"readme":"\u003cp align=\"center\"\u003e\u003cimg src=\"docs/sources/tempo/logo_and_name.png\" alt=\"Tempo Logo\"\u003e\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/grafana/tempo/releases\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/grafana/tempo?display_name=tag\u0026sort=semver\" alt=\"Latest Release\"/\u003e\u003c/a\u003e\n  \u003cimg src=\"https://img.shields.io/github/license/grafana/tempo\" alt=\"License\" /\u003e\n  \u003ca href=\"https://hub.docker.com/r/grafana/tempo/tags\"\u003e\u003cimage src=\"https://img.shields.io/docker/pulls/grafana/tempo\" alt=\"Docker Pulls\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://grafana.slack.com/archives/C01D981PEE5\"\u003e\u003cimg src=\"https://img.shields.io/badge/join%20slack-%23tempo-brightgreen.svg\" alt=\"Slack\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://community.grafana.com/c/grafana-tempo/40\"\u003e\u003cimg src=\"https://img.shields.io/badge/discuss-tempo%20forum-orange.svg\" alt=\"Community Forum\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://goreportcard.com/report/github.com/grafana/tempo\"\u003e\u003cimg src=\"https://goreportcard.com/badge/github.com/grafana/tempo\" alt=\"Go Report Card\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\nGrafana Tempo is an open source, easy-to-use, and high-scale distributed tracing backend. Tempo is cost-efficient, requiring only object storage to operate, and is deeply integrated with Grafana, Prometheus, and Loki.\n\n\n## Business value of distributed tracing\n\nDistributed tracing helps teams quickly pinpoint performance issues and understand the flow of requests across services. The Traces Drilldown UI simplifies this process by offering a user-friendly interface to view and analyze trace data, making it easier to identify and resolve issues without needing to write complex queries.\n\nRefer to [Use traces to find solutions](https://grafana.com/docs/tempo/latest/introduction/solutions-with-traces/) to learn more about how you can use distributed tracing to investigate and solve issues.\n\n## Traces Drilldown UI: A better way to get value from your tracing data\nWe are excited to introduce the [Traces Drilldown](https://github.com/grafana/traces-drilldown) (formerly Explore Traces) app as part of the Grafana Explore suite. This app provides a queryless and intuitive experience for analyzing tracing data, allowing teams to quickly identify performance issues, latency bottlenecks, and errors without needing to write complex queries or use TraceQL.\n\nKey Features:\n- **Intuitive Trace Analysis**: Spot slow or error-prone traces with easy, point-and-click interactions.\n- **RED Metrics Overview**: Use Rate, Errors, and Duration metrics to highlight performance issues.\n- **Automated Comparison**: Identify problematic attributes with automatic trace comparison.\n- **Simplified Visualizations**: Access rich visual data without needing to construct TraceQL queries.\n\n![image](https://github.com/user-attachments/assets/991205df-1b27-489f-8ef0-1a05ee158996)\n\nTo learn more see the following links:\n- [Traces Drilldown repo](https://github.com/grafana/traces-drilldown)\n- [Traces Drilldown documentation](https://grafana.com/docs/grafana/latest/explore/simplified-exploration/traces/)\n- [Demo video](https://www.youtube.com/watch?v=a3uB1C2oHA4)\n\n## TraceQL\n\nTempo implements [TraceQL](https://grafana.com/docs/tempo/latest/traceql/), a traces-first query language inspired by LogQL and PromQL, which enables targeted queries or rich UI-driven analyses.\n\n### TraceQL metrics\n\n[TraceQL metrics](https://grafana.com/docs/tempo/latest/traceql/metrics-queries/) is an experimental feature in Grafana Tempo that creates metrics from traces. Metric queries extend trace queries by applying a function to trace query results. This powerful feature allows for ad hoc aggregation of any existing TraceQL query by any dimension available in your traces, much in the same way that LogQL metric queries create metrics from logs.\n\nTempo is Jaeger, Zipkin, Kafka, OpenCensus, and OpenTelemetry compatible. It ingests batches in any of the mentioned formats, buffers them, and then writes them to Azure, GCS, S3, or local disk. As such, it is robust, cheap, and easy to operate!\n\n## Getting started with Tempo\n\n- [Get started documentation](https://grafana.com/docs/tempo/latest/getting-started/)\n- [Deployment Examples](./example)\n  - [Docker Compose](./example/docker-compose)\n  - [Helm](./example/helm)\n  - [Jsonnet](./example/tk)\n\n## Further reading\n\nTo learn more about Tempo, consult the following documents \u0026 talks:\n\n- [How to get started with Tempo with Joe Elliott (video)](https://www.youtube.com/watch?v=zDrA7Ly3ovU)\n- [Grafana blog posts about Tempo](https://grafana.com/tags/tempo/)\n- [New in Grafana Tempo 2.0: Apache Parquet as the default storage format, support for TraceQL][tempo_20_announce]\n- [Get to know TraceQL: A powerful new query language for distributed tracing][traceql-post]\n\n[tempo_20_announce]: https://grafana.com/blog/2023/02/01/new-in-grafana-tempo-2.0-apache-parquet-as-the-default-storage-format-support-for-traceql/\n[traceql-post]: https://grafana.com/blog/2023/02/07/get-to-know-traceql-a-powerful-new-query-language-for-distributed-tracing/\n\n## Getting help\n\nIf you have any questions or feedback regarding Tempo:\n\n- Grafana Labs hosts a [forum](https://community.grafana.com/c/grafana-tempo/40) for Tempo. This is a great place to post questions and search for answers.\n- Ask a question on the [Tempo Slack channel](https://grafana.slack.com/archives/C01D981PEE5).\n- [File an issue](https://github.com/grafana/tempo/issues/new/choose) for bugs, issues and feature suggestions.\n- UI issues should be filed with [Grafana](https://github.com/grafana/grafana/issues/new/choose).\n\n## OpenTelemetry\n\nTempo's receiver layer, wire format and storage format are all based directly on [standards](https://github.com/open-telemetry/opentelemetry-proto) and [code](https://github.com/open-telemetry/opentelemetry-collector) established by [OpenTelemetry](https://opentelemetry.io/).  We support open standards at Grafana!\n\nCheck out the [Integration Guides](https://grafana.com/docs/tempo/latest/guides/instrumentation/) to see examples of OpenTelemetry instrumentation with Tempo.\n\n## Other components\n\n### tempo-vulture\n[tempo-vulture](https://github.com/grafana/tempo/tree/main/cmd/tempo-vulture) is Tempo's bird themed consistency checking tool.  It writes traces to Tempo and then queries them back in a variety of ways.\n\n### tempo-cli\n[tempo-cli](https://github.com/grafana/tempo/tree/main/cmd/tempo-cli) is the place to put any utility functionality related to Tempo. See [Documentation](https://grafana.com/docs/tempo/latest/operations/tempo_cli/) for more info.\n\n## License\n\nGrafana Tempo is distributed under [AGPL-3.0-only](LICENSE). For Apache-2.0 exceptions, see [LICENSING.md](LICENSING.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrafana%2Ftempo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgrafana%2Ftempo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrafana%2Ftempo/lists"}