{"id":15137053,"url":"https://github.com/tech-pw/opentelemetry-instrumentation-hyper-express","last_synced_at":"2025-10-23T12:30:20.842Z","repository":{"id":247562443,"uuid":"823037362","full_name":"tech-pw/opentelemetry-instrumentation-hyper-express","owner":"tech-pw","description":"Opentelemetry based instrumentation for hyper-express which works on datadog backend, elastic APM etc","archived":false,"fork":false,"pushed_at":"2025-01-21T06:58:09.000Z","size":179,"stargazers_count":3,"open_issues_count":2,"forks_count":5,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-30T18:47:45.117Z","etag":null,"topics":["apm","datadog","hyper-express","nodejs","opentelemetry","opentelemetry-javascript","uwebsocketsjs"],"latest_commit_sha":null,"homepage":"","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/tech-pw.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"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}},"created_at":"2024-07-02T09:57:31.000Z","updated_at":"2024-12-26T12:09:42.000Z","dependencies_parsed_at":"2024-12-04T12:23:35.387Z","dependency_job_id":"178cac74-41b5-4067-87ff-a5b55a5282c4","html_url":"https://github.com/tech-pw/opentelemetry-instrumentation-hyper-express","commit_stats":{"total_commits":3,"total_committers":3,"mean_commits":1.0,"dds":0.6666666666666667,"last_synced_commit":"fa3824163ccc1a9143ab1ca85df22276057a84dd"},"previous_names":["tech-pw/opentelemetry-instrumentation-hyper-express"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tech-pw%2Fopentelemetry-instrumentation-hyper-express","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tech-pw%2Fopentelemetry-instrumentation-hyper-express/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tech-pw%2Fopentelemetry-instrumentation-hyper-express/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tech-pw%2Fopentelemetry-instrumentation-hyper-express/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tech-pw","download_url":"https://codeload.github.com/tech-pw/opentelemetry-instrumentation-hyper-express/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237821753,"owners_count":19371820,"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":["apm","datadog","hyper-express","nodejs","opentelemetry","opentelemetry-javascript","uwebsocketsjs"],"created_at":"2024-09-26T06:43:09.260Z","updated_at":"2025-10-23T12:30:20.413Z","avatar_url":"https://github.com/tech-pw.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OpenTelemetry Hyper-Express Instrumentation for Node.js\n\n[![NPM Published Version][npm-img]][npm-url]\n[![Apache License][license-image]][license-image]\n\nThis module provides automatic instrumentation for the [`hyper-express`](https://github.com/kartikk221/hyper-express) module, which may be loaded using the [`@opentelemetry/sdk-trace-node`](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-sdk-trace-node) package and is included in the [`@opentelemetry/auto-instrumentations-node`](https://www.npmjs.com/package/@opentelemetry/auto-instrumentations-node) bundle. It allows the user to automatically collect trace data and export them to their backend of choice.\n\nIf total installation size is not constrained, it is recommended to use the [`@opentelemetry/auto-instrumentations-node`](https://www.npmjs.com/package/@opentelemetry/auto-instrumentations-node) bundle with [@opentelemetry/sdk-node](`https://www.npmjs.com/package/@opentelemetry/sdk-node`) for the most seamless instrumentation experience.\n\nCompatible with OpenTelemetry JS API and SDK `1.0+`.\n\n## Installation\n\n```bash\nnpm install --save @pw-tech/instrumentation-hyper-express\n```\n\n### Supported Versions\n\n- `\u003e=6.0.0`\n\n## Usage\n\n### With opentelemetry\n\n```js\nconst { HyperExpressInstrumentation } = require('@pw-tech/instrumentation-hyper-express');\nconst { ConsoleSpanExporter, SimpleSpanProcessor } = require('@opentelemetry/sdk-trace-base');\nconst { NodeTracerProvider } = require('@opentelemetry/sdk-trace-node');\nconst { registerInstrumentations } = require('@opentelemetry/instrumentation');\n\nconst provider = new NodeTracerProvider();\n\nprovider.addSpanProcessor(new SimpleSpanProcessor(new ConsoleSpanExporter()));\nprovider.register();\n\nregisterInstrumentations({\n  instrumentations: [\n    new HyperExpressInstrumentation()\n  ],\n});\n\n```\n\n### With Datadog (dd-trace)\n```js\nlet service = \"your-service\";\n\nconst tracer = require('dd-trace').init({\n  service,\n})\nconst { TracerProvider } = tracer;\nconst provider = new TracerProvider();\nprovider.register();\n\nimport HyperExpressInstrumentation from \"@pw-tech/instrumentation-hyper-express\";\nconst {\n  getNodeAutoInstrumentations\n} = require('@opentelemetry/auto-instrumentations-node');\n\nnew HyperExpressInstrumentation();\n\n\n```\n\n## ENV\n\nFor instrumenting Datadog set below in env\n```\nAPM_TYPE=DD\n```\n\nFor instrumenting Elastic (Default) - APM_TYPE=ELASTIC no need to set in env separately\n\n\n## Semantic Conventions\n\nThis package uses `@opentelemetry/semantic-conventions` version `1.22+`, which implements Semantic Convention [Version 1.7.0](https://github.com/open-telemetry/opentelemetry-specification/blob/v1.7.0/semantic_conventions/README.md)\n\nAttributes collected:\n\n| Attribute    | Short Description                  |\n| ------------ | ---------------------------------- |\n| `http.route` | The matched route (path template). |\n\n## Useful links\n\n- For more information on OpenTelemetry, visit: \u003chttps://opentelemetry.io/\u003e\n- For more about OpenTelemetry JavaScript: \u003chttps://github.com/open-telemetry/opentelemetry-js\u003e\n- For help or feedback on this project, join us in [GitHub Discussions][discussions-url]\n\n## License\n\nApache 2.0 - See [LICENSE][license-url] for more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftech-pw%2Fopentelemetry-instrumentation-hyper-express","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftech-pw%2Fopentelemetry-instrumentation-hyper-express","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftech-pw%2Fopentelemetry-instrumentation-hyper-express/lists"}