{"id":13521874,"url":"https://github.com/traceloop/openllmetry-js","last_synced_at":"2026-04-16T13:02:08.515Z","repository":{"id":201025409,"uuid":"697518481","full_name":"traceloop/openllmetry-js","owner":"traceloop","description":"Sister project to OpenLLMetry, but in Typescript. Open-source observability for your LLM application, based on OpenTelemetry","archived":false,"fork":false,"pushed_at":"2026-04-13T06:00:54.000Z","size":16400,"stargazers_count":394,"open_issues_count":78,"forks_count":67,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-13T07:28:29.418Z","etag":null,"topics":["datascience","generative-ai","javascript","llmops","metrics","ml","model-monitoring","monitoring","nextjs","observability","open-source","opentelemetry","opentelemetry-javascript","typescript"],"latest_commit_sha":null,"homepage":"https://www.traceloop.com/openllmetry","language":"TypeScript","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/traceloop.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":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-09-27T22:38:28.000Z","updated_at":"2026-04-13T05:57:52.000Z","dependencies_parsed_at":"2023-11-06T12:43:57.451Z","dependency_job_id":"85150102-803e-41db-b406-ca0b25ee71c3","html_url":"https://github.com/traceloop/openllmetry-js","commit_stats":{"total_commits":304,"total_committers":17,"mean_commits":17.88235294117647,"dds":0.25,"last_synced_commit":"9d0a3948a7db06488e979164407050dd90469a39"},"previous_names":["traceloop/openllmetry-js"],"tags_count":280,"template":false,"template_full_name":null,"purl":"pkg:github/traceloop/openllmetry-js","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/traceloop%2Fopenllmetry-js","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/traceloop%2Fopenllmetry-js/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/traceloop%2Fopenllmetry-js/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/traceloop%2Fopenllmetry-js/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/traceloop","download_url":"https://codeload.github.com/traceloop/openllmetry-js/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/traceloop%2Fopenllmetry-js/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31886937,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-16T11:36:10.202Z","status":"ssl_error","status_checked_at":"2026-04-16T11:36:09.652Z","response_time":69,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["datascience","generative-ai","javascript","llmops","metrics","ml","model-monitoring","monitoring","nextjs","observability","open-source","opentelemetry","opentelemetry-javascript","typescript"],"created_at":"2024-08-01T06:00:38.947Z","updated_at":"2026-04-16T13:02:08.507Z","avatar_url":"https://github.com/traceloop.png","language":"TypeScript","readme":"\u003cp align=\"center\"\u003e\n\u003ca href=\"https://www.traceloop.com/openllmetry#gh-light-mode-only\"\u003e\n\u003cimg width=\"600\" src=\"https://raw.githubusercontent.com/traceloop/openllmetry/main/img/logo-light.png\"\u003e\n\u003c/a\u003e\n\u003ca href=\"https://www.traceloop.com/openllmetry#gh-dark-mode-only\"\u003e\n\u003cimg width=\"600\" src=\"https://raw.githubusercontent.com/traceloop/openllmetry/main/img/logo-dark.png\"\u003e\n\u003c/a\u003e\n\u003c/p\u003e\n\u003ch1 align=\"center\"\u003eFor Javascript / Typescript\u003c/h1\u003e\n\u003cp align=\"center\"\u003e\n  \u003cp align=\"center\"\u003eOpen-source observability for your LLM application\u003c/p\u003e\n\u003c/p\u003e\n\u003ch4 align=\"center\"\u003e\n    Get started with \u003ca href=\"https://traceloop.com/docs/openllmetry/getting-started-ts\"\u003e\u003cstrong\u003eNode.js \u003c/strong\u003e\u003c/a\u003e\n    or \u003ca href=\"https://traceloop.com/docs/openllmetry/getting-started-nextjs\"\u003e\u003cstrong\u003eNext.js\u003c/strong\u003e\u003c/a\u003e »\n    \u003cbr /\u003e\n    \u003cbr /\u003e\n  \u003ca href=\"https://traceloop.com/slack\"\u003eSlack\u003c/a\u003e |\n  \u003ca href=\"https://traceloop.com/docs/openllmetry/introduction\"\u003eDocs\u003c/a\u003e |\n  \u003ca href=\"https://www.traceloop.com/openllmetry\"\u003eWebsite\u003c/a\u003e\n\u003c/h4\u003e\n\n\u003ch4 align=\"center\"\u003e\n   \u003ca href=\"https://www.npmjs.com/package/@traceloop/node-server-sdk\"\u003e\n    \u003cimg src=\"https://badge.fury.io/js/@traceloop%2Fnode-server-sdk.svg\"\u003e\n  \u003c/a\u003e\n   \u003ca href=\"https://github.com/traceloop/openllmetry-js/blob/main/LICENSE\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/license-Apache 2.0-blue.svg\" alt=\"OpenLLMetry JS is released under the Apache-2.0 License\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/traceloop/openllmetry-js/actions/workflows/ci.yml\"\u003e\n  \u003cimg src=\"https://github.com/traceloop/openllmetry-js/actions/workflows/ci.yml/badge.svg\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://www.ycombinator.com/companies/traceloop\"\u003e\u003cimg src=\"https://img.shields.io/website?color=%23f26522\u0026down_message=Y%20Combinator\u0026label=Backed\u0026logo=ycombinator\u0026style=flat-square\u0026up_message=Y%20Combinator\u0026url=https%3A%2F%2Fwww.ycombinator.com\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/traceloop/openllmetry-js/blob/main/CONTRIBUTING.md\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/PRs-Welcome-brightgreen\" alt=\"PRs welcome!\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/traceloop/openllmetry-js/issues\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/commit-activity/m/traceloop/openllmetry-js\" alt=\"git commit activity\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://traceloop.com/slack\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/chat-on%20Slack-blueviolet\" alt=\"Slack community channel\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://twitter.com/traceloopdev\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/follow-%40traceloopdev-1DA1F2?logo=twitter\u0026style=social\" alt=\"Traceloop Twitter\" /\u003e\n  \u003c/a\u003e\n\u003c/h4\u003e\n\n**🎉 New**:\nOur semantic conventions are now part of OpenTelemetry! Join the [discussion](https://github.com/open-telemetry/community/blob/1c71595874e5d125ca92ec3b0e948c4325161c8a/projects/llm-semconv.md) and help us shape the future of LLM observability.\n\nOpenLLMetry-JS is a set of extensions built on top of [OpenTelemetry](https://opentelemetry.io/) that gives you complete observability over your LLM application. Because it uses OpenTelemetry under the hood, it can be connected to your existing observability solutions - Datadog, Honeycomb, and others.\n\nIt's built and maintained by Traceloop under the Apache 2.0 license.\n\nThe repo contains standard OpenTelemetry instrumentations for LLM providers and Vector DBs, as well as a Traceloop SDK that makes it easy to get started with OpenLLMetry-JS, while still outputting standard OpenTelemetry data that can be connected to your observability stack.\nIf you already have OpenTelemetry instrumented, you can just add any of our instrumentations directly.\n\n## 🚀 Getting Started\n\nThe easiest way to get started is to use our SDK.\nFor a complete guide, go to our [docs](https://traceloop.com/docs/openllmetry/getting-started-ts).\n\nInstall the SDK:\n\n```shell\nnpm install --save @traceloop/node-server-sdk\n```\n\nThen, to start instrumenting your code, just add these 2 lines to your code:\n\n```js\nimport * as traceloop from \"@traceloop/node-server-sdk\";\n\ntraceloop.initialize();\n```\n\nMake sure to `import` the SDK before importing any LLM module.\n\nThat's it. You're now tracing your code with OpenLLMetry-JS!\nIf you're running this locally, you may want to disable batch sending, so you can see the traces immediately:\n\n```js\ntraceloop.initialize({ disableBatch: true });\n```\n\nNow, you need to decide where to export the traces to.\n\n## ⏫ Supported (and tested) destinations\n\n- ✅ [Traceloop](https://www.traceloop.com/docs/openllmetry/integrations/traceloop)\n- ✅ [Dynatrace](https://www.traceloop.com/docs/openllmetry/integrations/dynatrace)\n- ✅ [Datadog](https://www.traceloop.com/docs/openllmetry/integrations/datadog)\n- ✅ [New Relic](https://www.traceloop.com/docs/openllmetry/integrations/newrelic)\n- ✅ [Honeycomb](https://www.traceloop.com/docs/openllmetry/integrations/honeycomb)\n- ✅ [Grafana Tempo](https://www.traceloop.com/docs/openllmetry/integrations/grafana)\n- ✅ [HyperDX](https://www.traceloop.com/docs/openllmetry/integrations/hyperdx)\n- ✅ [SigNoz](https://www.traceloop.com/docs/openllmetry/integrations/signoz)\n- ✅ [Splunk](https://www.traceloop.com/docs/openllmetry/integrations/splunk)\n- ✅ [OpenTelemetry Collector](https://www.traceloop.com/docs/openllmetry/integrations/otel-collector)\n\nSee [our docs](https://traceloop.com/docs/openllmetry/integrations/exporting) for instructions on connecting to each one.\n\n## 🪗 What do we instrument?\n\nOpenLLMetry-JS can instrument everything that [OpenTelemetry already instruments](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node) - so things like your DB, API calls, and more. On top of that, we built a set of custom extensions that instrument things like your calls to OpenAI or Anthropic, or your Vector DB like Pinecone, Chroma, or Weaviate.\n\n### LLM Providers\n\n- ✅ OpenAI\n- ✅ Azure OpenAI\n- ✅ Anthropic\n- ✅ Cohere\n- ⏳ Replicate\n- ⏳ HuggingFace\n- ✅ Vertex AI (GCP)\n- ✅ Bedrock (AWS)\n\n### Vector DBs\n\n- ✅ Pinecone\n- ✅ Chroma\n- ✅ Qdrant\n- ⏳ Weaviate\n- ⏳ Milvus\n\n### Frameworks\n\n- ✅ LangChain\n- ✅ LlamaIndex\n\n## 🔎 Telemetry\n\nWe no longer log or collect any telemetry in the SDK or in the instrumentations. Make sure to bump to v0.21.1 and above.\n\n## 🌱 Contributing\n\nWhether it's big or small, we love contributions ❤️ Check out our guide to see how to [get started](https://traceloop.com/docs/openllmetry/contributing/overview).\n\nNot sure where to get started? You can:\n\n- [Book a free pairing session with one of our teammates](mailto:nir@traceloop.com?subject=Pairing%20session\u0026body=I'd%20like%20to%20do%20a%20pairing%20session!)!\n- Join our \u003ca href=\"https://traceloop.com/slack\"\u003eSlack\u003c/a\u003e, and ask us any questions there.\n\n## 💚 Community \u0026 Support\n\n- [Slack](https://traceloop.com/slack) (For live discussion with the community and the Traceloop team)\n- [GitHub Discussions](https://github.com/traceloop/openllmetry-js/discussions) (For help with building and deeper conversations about features)\n- [GitHub Issues](https://github.com/traceloop/openllmetry-js/issues) (For any bugs and errors you encounter using OpenLLMetry)\n- [Twitter](https://twitter.com/traceloopdev) (Get news fast)\n","funding_links":[],"categories":["3. Collect","TypeScript"],"sub_categories":["Metrics"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftraceloop%2Fopenllmetry-js","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftraceloop%2Fopenllmetry-js","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftraceloop%2Fopenllmetry-js/lists"}