2023-09-13 03:08:05 +00:00
|
|
|
{
|
|
|
|
|
"name": "@hyperdx/api",
|
2026-03-11 01:14:11 +00:00
|
|
|
"version": "2.21.0",
|
2023-09-13 03:08:05 +00:00
|
|
|
"license": "MIT",
|
|
|
|
|
"private": true,
|
|
|
|
|
"engines": {
|
2025-07-29 14:06:57 +00:00
|
|
|
"node": ">=22.16.0"
|
2023-09-13 03:08:05 +00:00
|
|
|
},
|
|
|
|
|
"dependencies": {
|
2025-10-07 18:47:10 +00:00
|
|
|
"@ai-sdk/anthropic": "^2.0.23",
|
2025-08-25 19:01:03 +00:00
|
|
|
"@esm2cjs/p-queue": "^7.3.0",
|
2026-03-11 01:14:11 +00:00
|
|
|
"@hyperdx/common-utils": "^0.16.0",
|
migration: migrate to Pino (logger) (#1269)
Summary
Migrates the HyperDX API and related services from Winston to Pino for standardized,
faster, and more structured logging with improved OpenTelemetry integration.
Changes
Core Migration
- Replaced Winston with Pino across all logging infrastructure
- Upgraded @hyperdx/node-opentelemetry from v0.8.2 to v0.9.0 to support Pino
transport
- Removed deprecated dependencies:
- winston and express-winston
- @opentelemetry/host-metrics and @opentelemetry/sdk-metrics (consolidated into
newer OTel SDK)
- Added new dependencies:
- pino and pino-http for core logging
- pino-pretty for development console output
Logger Configuration (packages/api/src/utils/logger.ts)
Production:
- Outputs stringified JSON to stdout via pino/file transport
- Maintains HyperDX transport integration when API key is configured
- Includes full OpenTelemetry trace context (trace_id, span_id, trace_flags)
<img width="830" height="184" alt="Screenshot 2025-10-14 at 4 31 36 PM" src="https://github.com/user-attachments/assets/82e60919-5c4d-4688-a6f5-d54632aef749" />
Development:
- Uses pino-pretty for human-readable, colorized console output
- Hides verbose fields from console: pid, hostname, trace_id, span_id, trace_flags
- HTTP request/response objects excluded from logs via custom serializers
<img width="825" height="350" alt="image" src="https://github.com/user-attachments/assets/64b293d8-bc95-4715-931a-dbf73483d247" />
HTTP Logging:
- Replaced express-winston with pino-http
- Custom log levels based on HTTP status codes (warn for 4xx, error for 5xx+)
- Simplified log messages: HTTP {method} {url}
Error Logging Updates
Updated error logging patterns throughout the codebase to follow Pino's structured
logging conventions:
// Before (Winston)
logger.error('Error message:', error);
// After (Pino)
logger.error({ err: error }, 'Error message');
Ref: HDX-2588
This PR should also address issue: https://github.com/hyperdxio/hyperdx/issues/1035
2025-10-15 17:15:46 +00:00
|
|
|
"@hyperdx/node-opentelemetry": "^0.9.0",
|
2025-07-23 17:55:03 +00:00
|
|
|
"@hyperdx/passport-local-mongoose": "^9.0.1",
|
2024-06-28 22:54:17 +00:00
|
|
|
"@opentelemetry/api": "^1.8.0",
|
2025-03-18 18:07:12 +00:00
|
|
|
"@opentelemetry/host-metrics": "^0.35.5",
|
|
|
|
|
"@opentelemetry/sdk-metrics": "^1.30.1",
|
2026-02-26 02:14:24 +00:00
|
|
|
"@slack/webhook": "^7.0.0",
|
2025-05-23 01:41:35 +00:00
|
|
|
"@types/node": "^22.15.18",
|
2025-10-07 18:47:10 +00:00
|
|
|
"ai": "5.0.59",
|
2025-11-29 03:30:28 +00:00
|
|
|
"aws4": "^1.13.2",
|
2025-10-07 18:47:10 +00:00
|
|
|
"chrono-node": "^2.9.0",
|
2023-09-13 03:08:05 +00:00
|
|
|
"compression": "^1.7.4",
|
2026-02-26 02:14:24 +00:00
|
|
|
"concurrently": "^9.1.2",
|
2023-09-13 03:08:05 +00:00
|
|
|
"connect-mongo": "^4.6.0",
|
|
|
|
|
"cors": "^2.8.5",
|
2025-10-07 21:39:48 +00:00
|
|
|
"cron": "^4.3.1",
|
2023-09-13 03:08:05 +00:00
|
|
|
"date-fns": "^2.28.0",
|
2024-03-29 01:26:44 +00:00
|
|
|
"express": "^4.19.2",
|
2023-09-13 03:08:05 +00:00
|
|
|
"express-rate-limit": "^6.7.1",
|
|
|
|
|
"express-session": "^1.17.3",
|
2024-02-28 07:45:53 +00:00
|
|
|
"handlebars": "^4.7.8",
|
2024-01-29 18:57:00 +00:00
|
|
|
"http-graceful-shutdown": "^3.1.13",
|
2025-06-09 17:13:29 +00:00
|
|
|
"http-proxy-middleware": "^3.0.5",
|
2023-09-13 03:08:05 +00:00
|
|
|
"jsonwebtoken": "^9.0.0",
|
2026-02-24 18:59:44 +00:00
|
|
|
"lodash": "^4.17.23",
|
2023-09-13 03:08:05 +00:00
|
|
|
"minimist": "^1.2.7",
|
2025-05-30 17:36:41 +00:00
|
|
|
"mongodb": "^6.15.0",
|
|
|
|
|
"mongoose": "^6.13.8",
|
2023-09-13 03:08:05 +00:00
|
|
|
"ms": "^2.1.3",
|
2025-09-08 15:49:09 +00:00
|
|
|
"on-headers": "^1.1.0",
|
2024-03-14 17:38:15 +00:00
|
|
|
"passport": "^0.6.0",
|
2023-09-13 03:08:05 +00:00
|
|
|
"passport-local": "^1.0.0",
|
migration: migrate to Pino (logger) (#1269)
Summary
Migrates the HyperDX API and related services from Winston to Pino for standardized,
faster, and more structured logging with improved OpenTelemetry integration.
Changes
Core Migration
- Replaced Winston with Pino across all logging infrastructure
- Upgraded @hyperdx/node-opentelemetry from v0.8.2 to v0.9.0 to support Pino
transport
- Removed deprecated dependencies:
- winston and express-winston
- @opentelemetry/host-metrics and @opentelemetry/sdk-metrics (consolidated into
newer OTel SDK)
- Added new dependencies:
- pino and pino-http for core logging
- pino-pretty for development console output
Logger Configuration (packages/api/src/utils/logger.ts)
Production:
- Outputs stringified JSON to stdout via pino/file transport
- Maintains HyperDX transport integration when API key is configured
- Includes full OpenTelemetry trace context (trace_id, span_id, trace_flags)
<img width="830" height="184" alt="Screenshot 2025-10-14 at 4 31 36 PM" src="https://github.com/user-attachments/assets/82e60919-5c4d-4688-a6f5-d54632aef749" />
Development:
- Uses pino-pretty for human-readable, colorized console output
- Hides verbose fields from console: pid, hostname, trace_id, span_id, trace_flags
- HTTP request/response objects excluded from logs via custom serializers
<img width="825" height="350" alt="image" src="https://github.com/user-attachments/assets/64b293d8-bc95-4715-931a-dbf73483d247" />
HTTP Logging:
- Replaced express-winston with pino-http
- Custom log levels based on HTTP status codes (warn for 4xx, error for 5xx+)
- Simplified log messages: HTTP {method} {url}
Error Logging Updates
Updated error logging patterns throughout the codebase to follow Pino's structured
logging conventions:
// Before (Winston)
logger.error('Error message:', error);
// After (Pino)
logger.error({ err: error }, 'Error message');
Ref: HDX-2588
This PR should also address issue: https://github.com/hyperdxio/hyperdx/issues/1035
2025-10-15 17:15:46 +00:00
|
|
|
"pino": "^10.0.0",
|
|
|
|
|
"pino-http": "^11.0.0",
|
2024-02-28 07:45:53 +00:00
|
|
|
"promised-handlebars": "^2.0.1",
|
2025-05-23 01:41:35 +00:00
|
|
|
"protobufjs": "^7.5.2",
|
build(deps): bump semver from 5.7.1 to 7.7.3 (#1702)
Bumps [semver](https://github.com/npm/node-semver) from 5.7.1 to 7.7.3.
Sourced from <a href="https://github.com/npm/node-semver/releases">semver's releases</a>.</em></p>
<blockquote>
<h2>v7.7.3</h2>
<h2><a href="https://github.com/npm/node-semver/compare/v7.7.2...v7.7.3">7.7.3</a> (2025-10-06)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><a href="https://github.com/npm/node-semver/commit/e37e0ca0b5fc910d2b1948d25dbc83cc3a0921ea"><code>e37e0ca</code></a> <a href="https://redirect.github.com/npm/node-semver/pull/813">#813</a> faster paths for compare (<a href="https://redirect.github.com/npm/node-semver/issues/813">#813</a>) (<a href="https://github.com/H4ad"><code>@H4ad</code></a>)</li>
<li><a href="https://github.com/npm/node-semver/commit/2471d7543e2e63d9d95358e2405e7e1cde926c36"><code>2471d75</code></a> <a href="https://redirect.github.com/npm/node-semver/pull/811">#811</a> x-range build metadata support (i529015)</li>
</ul>
<h3>Chores</h3>
<ul>
<li><a href="https://github.com/npm/node-semver/commit/8f05c87f56a4123259b8c6d9324f53eadb02e48f"><code>8f05c87</code></a> <a href="https://redirect.github.com/npm/node-semver/pull/807">#807</a> bump <code>@npmcli/template-oss</code> from 4.25.0 to 4.25.1 (<a href="https://redirect.github.com/npm/node-semver/issues/807">#807</a>) (<a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot], <a href="https://github.com/owlstronaut"><code>@owlstronaut</code></a>)</li>
</ul>
<h2>v7.7.2</h2>
<h2><a href="https://github.com/npm/node-semver/compare/v7.7.1...v7.7.2">7.7.2</a> (2025-05-12)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><a href="https://github.com/npm/node-semver/commit/fcafb61ed566ff8ccf24818dd94b76738f037aa4"><code>fcafb61</code></a> <a href="https://redirect.github.com/npm/node-semver/pull/780">#780</a> add missing <code>'use strict'</code> directives (<a href="https://redirect.github.com/npm/node-semver/issues/780">#780</a>) (<a href="https://github.com/Fdawgs"><code>@Fdawgs</code></a>)</li>
<li><a href="https://github.com/npm/node-semver/commit/c99f336fa3bdff465652f9041eab2127d2f52eb2"><code>c99f336</code></a> <a href="https://redirect.github.com/npm/node-semver/pull/781">#781</a> prerelease identifier starting with digits (<a href="https://redirect.github.com/npm/node-semver/issues/781">#781</a>) (<a href="https://github.com/mbtools"><code>@mbtools</code></a>)</li>
</ul>
<h3>Chores</h3>
<ul>
<li><a href="https://github.com/npm/node-semver/commit/c760403b935d3ad35f83e9bbe5ebe1badef2fc71"><code>c760403</code></a> <a href="https://redirect.github.com/npm/node-semver/pull/784">#784</a> template-oss-apply for workflow permissions (<a href="https://redirect.github.com/npm/node-semver/issues/784">#784</a>) (<a href="https://github.com/wraithgar"><code>@wraithgar</code></a>)</li>
<li><a href="https://github.com/npm/node-semver/commit/2677f2a88334b0e728dbfe9ad9f5f57458437c87"><code>2677f2a</code></a> <a href="https://redirect.github.com/npm/node-semver/pull/778">#778</a> bump <code>@npmcli/template-oss</code> from 4.23.6 to 4.24.3 (<a href="https://redirect.github.com/npm/node-semver/issues/778">#778</a>) (<a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot], <a href="https://github.com/npm-cli-bot"><code>@npm-cli-bot</code></a>)</li>
</ul>
<h2>v7.7.1</h2>
<h2><a href="https://github.com/npm/node-semver/compare/v7.7.0...v7.7.1">7.7.1</a> (2025-02-03)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><a href="https://github.com/npm/node-semver/commit/af761c05bd53eef83b5e20f8b09360b0e70557dc"><code>af761c0</code></a> <a href="https://redirect.github.com/npm/node-semver/pull/764">#764</a> inc: fully capture prerelease identifier (<a href="https://redirect.github.com/npm/node-semver/issues/764">#764</a>) (<a href="https://github.com/wraithgar"><code>@wraithgar</code></a>)</li>
</ul>
<h2>v7.7.0</h2>
<h2><a href="https://github.com/npm/node-semver/compare/v7.6.3...v7.7.0">7.7.0</a> (2025-01-29)</h2>
<h3>Features</h3>
<ul>
<li><a href="https://github.com/npm/node-semver/commit/0864b3ce7932667013e0c7c5ec764777d4682883"><code>0864b3c</code></a> <a href="https://redirect.github.com/npm/node-semver/pull/753">#753</a> add "release" inc type (<a href="https://redirect.github.com/npm/node-semver/issues/753">#753</a>) (<a href="https://github.com/mbtools"><code>@mbtools</code></a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li><a href="https://github.com/npm/node-semver/commit/d588e3782864b1cab2fe9f2452b848e8c7f609d1"><code>d588e37</code></a> <a href="https://redirect.github.com/npm/node-semver/pull/755">#755</a> diff: fix prerelease to stable version diff logic (<a href="https://redirect.github.com/npm/node-semver/issues/755">#755</a>) (<a href="https://github.com/eminberkayd"><code>@eminberkayd</code></a>, berkay.daglar)</li>
<li><a href="https://github.com/npm/node-semver/commit/8a34bdecc783407f4e1a8a1ee1f67906b84a4b78"><code>8a34bde</code></a> <a href="https://redirect.github.com/npm/node-semver/pull/754">#754</a> add identifier validation to <code>inc()</code> (<a href="https://redirect.github.com/npm/node-semver/issues/754">#754</a>) (<a href="https://github.com/mbtools"><code>@mbtools</code></a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li><a href="https://github.com/npm/node-semver/commit/67e54785a0f871361230f84323cbb631b9b6d834"><code>67e5478</code></a> <a href="https://redirect.github.com/npm/node-semver/pull/756">#756</a> readme: added missing period for consistency (<a href="https://redirect.github.com/npm/node-semver/issues/756">#756</a>) (<a href="https://github.com/shaymolcho"><code>@shaymolcho</code></a>)</li>
<li><a href="https://github.com/npm/node-semver/commit/868d4bbe3d318c52544f38d5f9977a1103e924c2"><code>868d4bb</code></a> <a href="https://redirect.github.com/npm/node-semver/pull/749">#749</a> clarify comment about obsolete prefixes (<a href="https://redirect.github.com/npm/node-semver/issues/749">#749</a>) (<a href="https://github.com/mbtools"><code>@mbtools</code></a>, <a href="https://github.com/ljharb"><code>@ljharb</code></a>)</li>
</ul>
<h3>Chores</h3>
<ul>
<li><a href="https://github.com/npm/node-semver/commit/145c554b8c7b7ecfcb451153ad18bdb2f24ad10d"><code>145c554</code></a> <a href="https://redirect.github.com/npm/node-semver/pull/741">#741</a> bump <code>@npmcli/eslint-config</code> from 4.0.5 to 5.0.0 (<a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot])</li>
<li><a href="https://github.com/npm/node-semver/commit/753e02b9d0cb3ac23e085dc33efcab3e08d61f2b"><code>753e02b</code></a> <a href="https://redirect.github.com/npm/node-semver/pull/747">#747</a> bump <code>@npmcli/template-oss</code> from 4.23.3 to 4.23.4 (<a href="https://redirect.github.com/npm/node-semver/issues/747">#747</a>) (<a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot], <a href="https://github.com/npm-cli-bot"><code>@npm-cli-bot</code></a>)</li>
<li><a href="https://github.com/npm/node-semver/commit/0b812d5fb5fbb208e89dc1250e2efafeaa549437"><code>0b812d5</code></a> <a href="https://redirect.github.com/npm/node-semver/pull/744">#744</a> postinstall for dependabot template-oss PR (<a href="https://github.com/hashtagchris"><code>@hashtagchris</code></a>)</li>
</ul>
<h2>v7.6.3</h2>
<h2><a href="https://github.com/npm/node-semver/compare/v7.6.2...v7.6.3">7.6.3</a> (2024-07-16)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><a href="https://github.com/npm/node-semver/commit/73a3d79c4ec32d5dd62c9d5f64e5af7fbdad9ec0"><code>73a3d79</code></a> <a href="https://redirect.github.com/npm/node-semver/pull/726">#726</a> optimize Range parsing and formatting (<a href="https://redirect.github.com/npm/node-semver/issues/726">#726</a>) (<a href="https://github.com/jviide"><code>@jviide</code></a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li><a href="https://github.com/npm/node-semver/commit/2975ece120e17660c9f1ef517de45c09ff821064"><code>2975ece</code></a> <a href="https://redirect.github.com/npm/node-semver/pull/719">#719</a> fix extra backtick typo (<a href="https://redirect.github.com/npm/node-semver/issues/719">#719</a>) (<a href="https://github.com/stdavis"><code>@stdavis</code></a>)</li>
</ul>
<h2>v7.6.2</h2>
<h2><a href="https://github.com/npm/node-semver/compare/v7.6.1...v7.6.2">7.6.2</a> (2024-05-09)</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/npm/node-semver/blob/main/CHANGELOG.md">semver's changelog</a>.</em></p>
<blockquote>
<h2><a href="https://github.com/npm/node-semver/compare/v7.7.2...v7.7.3">7.7.3</a> (2025-10-06)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><a href="https://github.com/npm/node-semver/commit/e37e0ca0b5fc910d2b1948d25dbc83cc3a0921ea"><code>e37e0ca</code></a> <a href="https://redirect.github.com/npm/node-semver/pull/813">#813</a> faster paths for compare (<a href="https://redirect.github.com/npm/node-semver/issues/813">#813</a>) (<a href="https://github.com/H4ad"><code>@H4ad</code></a>)</li>
<li><a href="https://github.com/npm/node-semver/commit/2471d7543e2e63d9d95358e2405e7e1cde926c36"><code>2471d75</code></a> <a href="https://redirect.github.com/npm/node-semver/pull/811">#811</a> x-range build metadata support (i529015)</li>
</ul>
<h3>Chores</h3>
<ul>
<li><a href="https://github.com/npm/node-semver/commit/8f05c87f56a4123259b8c6d9324f53eadb02e48f"><code>8f05c87</code></a> <a href="https://redirect.github.com/npm/node-semver/pull/807">#807</a> bump <code>@npmcli/template-oss</code> from 4.25.0 to 4.25.1 (<a href="https://redirect.github.com/npm/node-semver/issues/807">#807</a>) (<a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot], <a href="https://github.com/owlstronaut"><code>@owlstronaut</code></a>)</li>
</ul>
<h2><a href="https://github.com/npm/node-semver/compare/v7.7.1...v7.7.2">7.7.2</a> (2025-05-12)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><a href="https://github.com/npm/node-semver/commit/fcafb61ed566ff8ccf24818dd94b76738f037aa4"><code>fcafb61</code></a> <a href="https://redirect.github.com/npm/node-semver/pull/780">#780</a> add missing <code>'use strict'</code> directives (<a href="https://redirect.github.com/npm/node-semver/issues/780">#780</a>) (<a href="https://github.com/Fdawgs"><code>@Fdawgs</code></a>)</li>
<li><a href="https://github.com/npm/node-semver/commit/c99f336fa3bdff465652f9041eab2127d2f52eb2"><code>c99f336</code></a> <a href="https://redirect.github.com/npm/node-semver/pull/781">#781</a> prerelease identifier starting with digits (<a href="https://redirect.github.com/npm/node-semver/issues/781">#781</a>) (<a href="https://github.com/mbtools"><code>@mbtools</code></a>)</li>
</ul>
<h3>Chores</h3>
<ul>
<li><a href="https://github.com/npm/node-semver/commit/c760403b935d3ad35f83e9bbe5ebe1badef2fc71"><code>c760403</code></a> <a href="https://redirect.github.com/npm/node-semver/pull/784">#784</a> template-oss-apply for workflow permissions (<a href="https://redirect.github.com/npm/node-semver/issues/784">#784</a>) (<a href="https://github.com/wraithgar"><code>@wraithgar</code></a>)</li>
<li><a href="https://github.com/npm/node-semver/commit/2677f2a88334b0e728dbfe9ad9f5f57458437c87"><code>2677f2a</code></a> <a href="https://redirect.github.com/npm/node-semver/pull/778">#778</a> bump <code>@npmcli/template-oss</code> from 4.23.6 to 4.24.3 (<a href="https://redirect.github.com/npm/node-semver/issues/778">#778</a>) (<a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot], <a href="https://github.com/npm-cli-bot"><code>@npm-cli-bot</code></a>)</li>
</ul>
<h2><a href="https://github.com/npm/node-semver/compare/v7.7.0...v7.7.1">7.7.1</a> (2025-02-03)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><a href="https://github.com/npm/node-semver/commit/af761c05bd53eef83b5e20f8b09360b0e70557dc"><code>af761c0</code></a> <a href="https://redirect.github.com/npm/node-semver/pull/764">#764</a> inc: fully capture prerelease identifier (<a href="https://redirect.github.com/npm/node-semver/issues/764">#764</a>) (<a href="https://github.com/wraithgar"><code>@wraithgar</code></a>)</li>
</ul>
<h2><a href="https://github.com/npm/node-semver/compare/v7.6.3...v7.7.0">7.7.0</a> (2025-01-29)</h2>
<h3>Features</h3>
<ul>
<li><a href="https://github.com/npm/node-semver/commit/0864b3ce7932667013e0c7c5ec764777d4682883"><code>0864b3c</code></a> <a href="https://redirect.github.com/npm/node-semver/pull/753">#753</a> add "release" inc type (<a href="https://redirect.github.com/npm/node-semver/issues/753">#753</a>) (<a href="https://github.com/mbtools"><code>@mbtools</code></a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li><a href="https://github.com/npm/node-semver/commit/d588e3782864b1cab2fe9f2452b848e8c7f609d1"><code>d588e37</code></a> <a href="https://redirect.github.com/npm/node-semver/pull/755">#755</a> diff: fix prerelease to stable version diff logic (<a href="https://redirect.github.com/npm/node-semver/issues/755">#755</a>) (<a href="https://github.com/eminberkayd"><code>@eminberkayd</code></a>, berkay.daglar)</li>
<li><a href="https://github.com/npm/node-semver/commit/8a34bdecc783407f4e1a8a1ee1f67906b84a4b78"><code>8a34bde</code></a> <a href="https://redirect.github.com/npm/node-semver/pull/754">#754</a> add identifier validation to <code>inc()</code> (<a href="https://redirect.github.com/npm/node-semver/issues/754">#754</a>) (<a href="https://github.com/mbtools"><code>@mbtools</code></a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li><a href="https://github.com/npm/node-semver/commit/67e54785a0f871361230f84323cbb631b9b6d834"><code>67e5478</code></a> <a href="https://redirect.github.com/npm/node-semver/pull/756">#756</a> readme: added missing period for consistency (<a href="https://redirect.github.com/npm/node-semver/issues/756">#756</a>) (<a href="https://github.com/shaymolcho"><code>@shaymolcho</code></a>)</li>
<li><a href="https://github.com/npm/node-semver/commit/868d4bbe3d318c52544f38d5f9977a1103e924c2"><code>868d4bb</code></a> <a href="https://redirect.github.com/npm/node-semver/pull/749">#749</a> clarify comment about obsolete prefixes (<a href="https://redirect.github.com/npm/node-semver/issues/749">#749</a>) (<a href="https://github.com/mbtools"><code>@mbtools</code></a>, <a href="https://github.com/ljharb"><code>@ljharb</code></a>)</li>
</ul>
<h3>Chores</h3>
<ul>
<li><a href="https://github.com/npm/node-semver/commit/145c554b8c7b7ecfcb451153ad18bdb2f24ad10d"><code>145c554</code></a> <a href="https://redirect.github.com/npm/node-semver/pull/741">#741</a> bump <code>@npmcli/eslint-config</code> from 4.0.5 to 5.0.0 (<a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot])</li>
<li><a href="https://github.com/npm/node-semver/commit/753e02b9d0cb3ac23e085dc33efcab3e08d61f2b"><code>753e02b</code></a> <a href="https://redirect.github.com/npm/node-semver/pull/747">#747</a> bump <code>@npmcli/template-oss</code> from 4.23.3 to 4.23.4 (<a href="https://redirect.github.com/npm/node-semver/issues/747">#747</a>) (<a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot], <a href="https://github.com/npm-cli-bot"><code>@npm-cli-bot</code></a>)</li>
<li><a href="https://github.com/npm/node-semver/commit/0b812d5fb5fbb208e89dc1250e2efafeaa549437"><code>0b812d5</code></a> <a href="https://redirect.github.com/npm/node-semver/pull/744">#744</a> postinstall for dependabot template-oss PR (<a href="https://github.com/hashtagchris"><code>@hashtagchris</code></a>)</li>
</ul>
<h2><a href="https://github.com/npm/node-semver/compare/v7.6.2...v7.6.3">7.6.3</a> (2024-07-16)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><a href="https://github.com/npm/node-semver/commit/73a3d79c4ec32d5dd62c9d5f64e5af7fbdad9ec0"><code>73a3d79</code></a> <a href="https://redirect.github.com/npm/node-semver/pull/726">#726</a> optimize Range parsing and formatting (<a href="https://redirect.github.com/npm/node-semver/issues/726">#726</a>) (<a href="https://github.com/jviide"><code>@jviide</code></a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li><a href="https://github.com/npm/node-semver/commit/2975ece120e17660c9f1ef517de45c09ff821064"><code>2975ece</code></a> <a href="https://redirect.github.com/npm/node-semver/pull/719">#719</a> fix extra backtick typo (<a href="https://redirect.github.com/npm/node-semver/issues/719">#719</a>) (<a href="https://github.com/stdavis"><code>@stdavis</code></a>)</li>
</ul>
<h2><a href="https://github.com/npm/node-semver/compare/v7.6.1...v7.6.2">7.6.2</a> (2024-05-09)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><a href="https://github.com/npm/node-semver/commit/6466ba9b540252db405fdd2a289dd4651495beea"><code>6466ba9</code></a> <a href="https://redirect.github.com/npm/node-semver/pull/713">#713</a> lru: use map.delete() directly (<a href="https://redirect.github.com/npm/node-semver/issues/713">#713</a>) (<a href="https://github.com/negezor"><code>@negezor</code></a>, <a href="https://github.com/lukekarrys"><code>@lukekarrys</code></a>)</li>
</ul>
<h2><a href="https://github.com/npm/node-semver/compare/v7.6.0...v7.6.1">7.6.1</a> (2024-05-04)</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/npm/node-semver/commit/a25789b09b1192fa8414c35f2cd679ae2e1d5192"><code>a25789b</code></a> chore: release 7.7.3 (<a href="https://redirect.github.com/npm/node-semver/issues/812">#812</a>)</li>
<li><a href="https://github.com/npm/node-semver/commit/e37e0ca0b5fc910d2b1948d25dbc83cc3a0921ea"><code>e37e0ca</code></a> fix: faster paths for compare (<a href="https://redirect.github.com/npm/node-semver/issues/813">#813</a>)</li>
<li><a href="https://github.com/npm/node-semver/commit/2471d7543e2e63d9d95358e2405e7e1cde926c36"><code>2471d75</code></a> fix: x-range build metadata support</li>
<li><a href="https://github.com/npm/node-semver/commit/8f05c87f56a4123259b8c6d9324f53eadb02e48f"><code>8f05c87</code></a> chore: bump <code>@npmcli/template-oss</code> from 4.25.0 to 4.25.1 (<a href="https://redirect.github.com/npm/node-semver/issues/807">#807</a>)</li>
<li><a href="https://github.com/npm/node-semver/commit/d17aebf8485edfe9dda982dab578c603d031e4ab"><code>d17aebf</code></a> chore: bump <code>@npmcli/template-oss</code> from 4.24.4 to 4.25.0 (<a href="https://redirect.github.com/npm/node-semver/issues/797">#797</a>)</li>
<li><a href="https://github.com/npm/node-semver/commit/3b03e3b4ecb28d609cd42a91c10da75ec1254976"><code>3b03e3b</code></a> chore: bump <code>@npmcli/template-oss</code> from 4.24.3 to 4.24.4 (<a href="https://redirect.github.com/npm/node-semver/issues/790">#790</a>)</li>
<li><a href="https://github.com/npm/node-semver/commit/281055e7716ef0415a8826972471331989ede58c"><code>281055e</code></a> chore: release 7.7.2 (<a href="https://redirect.github.com/npm/node-semver/issues/783">#783</a>)</li>
<li><a href="https://github.com/npm/node-semver/commit/fcafb61ed566ff8ccf24818dd94b76738f037aa4"><code>fcafb61</code></a> fix: add missing <code>'use strict'</code> directives (<a href="https://redirect.github.com/npm/node-semver/issues/780">#780</a>)</li>
<li><a href="https://github.com/npm/node-semver/commit/c760403b935d3ad35f83e9bbe5ebe1badef2fc71"><code>c760403</code></a> chore: template-oss-apply for workflow permissions (<a href="https://redirect.github.com/npm/node-semver/issues/784">#784</a>)</li>
<li><a href="https://github.com/npm/node-semver/commit/c99f336fa3bdff465652f9041eab2127d2f52eb2"><code>c99f336</code></a> fix: prerelease identifier starting with digits (<a href="https://redirect.github.com/npm/node-semver/issues/781">#781</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/npm/node-semver/compare/v5.7.1...v7.7.3">compare view</a></li>
</ul>
</details>
<details>
<summary>Maintainer changes</summary>
<p>This version was pushed to npm by [GitHub Actions](<a href="https://www.npmjs.com/~GitHub">https://www.npmjs.com/~GitHub</a> Actions), a new releaser for semver since your current version.</p>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/hyperdxio/hyperdx/network/alerts).
</details>
2026-03-02 17:47:44 +00:00
|
|
|
"semver": "^7.5.3",
|
2023-09-13 03:08:05 +00:00
|
|
|
"serialize-error": "^8.1.0",
|
|
|
|
|
"uuid": "^8.3.2",
|
2025-10-07 18:47:10 +00:00
|
|
|
"zod": "3.25",
|
2023-09-13 03:08:05 +00:00
|
|
|
"zod-express-middleware": "^1.4.0"
|
|
|
|
|
},
|
|
|
|
|
"devDependencies": {
|
2025-11-29 03:30:28 +00:00
|
|
|
"@types/aws4": "^1",
|
2023-09-13 03:08:05 +00:00
|
|
|
"@types/compression": "^1.7.3",
|
|
|
|
|
"@types/cors": "^2.8.14",
|
|
|
|
|
"@types/express": "^4.17.13",
|
|
|
|
|
"@types/express-session": "^1.17.7",
|
|
|
|
|
"@types/jest": "^28.1.1",
|
|
|
|
|
"@types/lodash": "^4.14.198",
|
|
|
|
|
"@types/minimist": "^1.2.2",
|
|
|
|
|
"@types/ms": "^0.7.31",
|
|
|
|
|
"@types/passport-local": "^1.0.34",
|
|
|
|
|
"@types/semver": "^7.3.12",
|
|
|
|
|
"@types/supertest": "^2.0.12",
|
2025-04-29 17:54:34 +00:00
|
|
|
"@types/swagger-jsdoc": "^6",
|
2023-09-13 03:08:05 +00:00
|
|
|
"@types/uuid": "^8.3.4",
|
2025-02-27 08:07:47 +00:00
|
|
|
"jest": "^28.1.3",
|
2023-11-30 21:55:45 +00:00
|
|
|
"migrate-mongo": "^11.0.0",
|
2023-09-13 03:08:05 +00:00
|
|
|
"nodemon": "^2.0.20",
|
migration: migrate to Pino (logger) (#1269)
Summary
Migrates the HyperDX API and related services from Winston to Pino for standardized,
faster, and more structured logging with improved OpenTelemetry integration.
Changes
Core Migration
- Replaced Winston with Pino across all logging infrastructure
- Upgraded @hyperdx/node-opentelemetry from v0.8.2 to v0.9.0 to support Pino
transport
- Removed deprecated dependencies:
- winston and express-winston
- @opentelemetry/host-metrics and @opentelemetry/sdk-metrics (consolidated into
newer OTel SDK)
- Added new dependencies:
- pino and pino-http for core logging
- pino-pretty for development console output
Logger Configuration (packages/api/src/utils/logger.ts)
Production:
- Outputs stringified JSON to stdout via pino/file transport
- Maintains HyperDX transport integration when API key is configured
- Includes full OpenTelemetry trace context (trace_id, span_id, trace_flags)
<img width="830" height="184" alt="Screenshot 2025-10-14 at 4 31 36 PM" src="https://github.com/user-attachments/assets/82e60919-5c4d-4688-a6f5-d54632aef749" />
Development:
- Uses pino-pretty for human-readable, colorized console output
- Hides verbose fields from console: pid, hostname, trace_id, span_id, trace_flags
- HTTP request/response objects excluded from logs via custom serializers
<img width="825" height="350" alt="image" src="https://github.com/user-attachments/assets/64b293d8-bc95-4715-931a-dbf73483d247" />
HTTP Logging:
- Replaced express-winston with pino-http
- Custom log levels based on HTTP status codes (warn for 4xx, error for 5xx+)
- Simplified log messages: HTTP {method} {url}
Error Logging Updates
Updated error logging patterns throughout the codebase to follow Pino's structured
logging conventions:
// Before (Winston)
logger.error('Error message:', error);
// After (Pino)
logger.error({ err: error }, 'Error message');
Ref: HDX-2588
This PR should also address issue: https://github.com/hyperdxio/hyperdx/issues/1035
2025-10-15 17:15:46 +00:00
|
|
|
"pino-pretty": "^13.1.1",
|
2023-09-13 03:08:05 +00:00
|
|
|
"rimraf": "^4.4.1",
|
|
|
|
|
"supertest": "^6.3.1",
|
2025-05-13 00:19:38 +00:00
|
|
|
"swagger-jsdoc": "^6.2.8",
|
|
|
|
|
"swagger-ui-express": "^5.0.1",
|
2026-01-07 17:38:01 +00:00
|
|
|
"ts-jest": "^29.4.5",
|
2023-09-13 03:08:05 +00:00
|
|
|
"ts-node": "^10.8.1",
|
2023-11-18 02:41:41 +00:00
|
|
|
"tsc-alias": "^1.8.8",
|
2023-11-17 21:31:24 +00:00
|
|
|
"tsconfig-paths": "^4.2.0",
|
2025-11-24 21:19:42 +00:00
|
|
|
"typescript": "^5.9.3"
|
2023-09-13 03:08:05 +00:00
|
|
|
},
|
|
|
|
|
"scripts": {
|
2025-10-21 09:27:47 +00:00
|
|
|
"start": "node ./build/index.js",
|
2025-12-11 23:07:16 +00:00
|
|
|
"dev": "DOTENV_CONFIG_PATH=.env.development nodemon --exec 'ts-node' --transpile-only -r tsconfig-paths/register -r dotenv-expand/config -r '@hyperdx/node-opentelemetry/build/src/tracing' ./src/index.ts",
|
|
|
|
|
"dev-task": "DOTENV_CONFIG_PATH=.env.development nodemon --exec 'ts-node' --transpile-only -r tsconfig-paths/register -r dotenv-expand/config -r '@hyperdx/node-opentelemetry/build/src/tracing' ./src/tasks/index.ts",
|
2025-10-21 09:27:47 +00:00
|
|
|
"build": "rimraf ./build && tsc && tsc-alias && cp -r ./src/opamp/proto ./build/opamp/",
|
2025-08-18 17:16:05 +00:00
|
|
|
"lint": "npx eslint --quiet . --ext .ts",
|
|
|
|
|
"lint:fix": "npx eslint . --ext .ts --fix",
|
2023-09-13 03:08:05 +00:00
|
|
|
"ci:lint": "yarn lint && yarn tsc --noEmit",
|
2026-03-11 20:32:02 +00:00
|
|
|
"ci:int": "DOTENV_CONFIG_PATH=.env.test DOTENV_CONFIG_OVERRIDE=true jest --runInBand --ci --forceExit --coverage",
|
|
|
|
|
"dev:int": "DOTENV_CONFIG_PATH=.env.test DOTENV_CONFIG_OVERRIDE=true jest --runInBand --forceExit --coverage",
|
2023-11-30 21:55:45 +00:00
|
|
|
"dev:migrate-db-create": "ts-node node_modules/.bin/migrate-mongo create -f migrate-mongo-config.ts",
|
2023-12-03 22:06:50 +00:00
|
|
|
"dev:migrate-db": "ts-node node_modules/.bin/migrate-mongo up -f migrate-mongo-config.ts",
|
|
|
|
|
"dev:migrate-ch-create": "migrate create -ext sql -dir ./migrations/ch -seq",
|
2025-04-29 17:54:34 +00:00
|
|
|
"dev:migrate-ch": "migrate -database 'clickhouse://localhost:9000?database=default&x-multi-statement=true' -path ./migrations/ch up",
|
|
|
|
|
"docgen": "ts-node scripts/generate-api-docs.ts"
|
2023-09-13 03:08:05 +00:00
|
|
|
}
|
2025-09-12 20:43:16 +00:00
|
|
|
}
|