diff --git a/CHANGELOG.md b/CHANGELOG.md index 80a0b6dae..925741a8e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,13 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ## [Unreleased] +## [6.45.20] - 2023-08-30 +### Changed +- Remove sampling decision from runtime +- Only create tracing spans when they come from router + +## [6.45.20-beta] - 2023-08-30 + ## [6.45.19] - 2023-07-12 ### Changed - Bump `graphql-upload` version @@ -1769,7 +1776,10 @@ instead - `HttpClient` now adds `'Accept-Encoding': 'gzip'` header by default. -[Unreleased]: https://github.com/vtex/node-vtex-api/compare/v6.45.15...HEAD +[Unreleased]: https://github.com/vtex/node-vtex-api/compare/v6.45.20...HEAD [6.45.15]: https://github.com/vtex/node-vtex-api/compare/v6.45.14...v6.45.15 [6.45.14]: https://github.com/vtex/node-vtex-api/compare/v6.45.13...v6.45.14 [6.45.13]: https://github.com/vtex/node-vtex-api/compare/v6.45.12...v6.45.13 + +[6.45.20]: https://github.com/vtex/node-vtex-api/compare/v6.45.20-beta...v6.45.20 +[6.45.20-beta]: https://github.com/vtex/node-vtex-api/compare/v6.45.19...v6.45.20-beta diff --git a/package.json b/package.json index 837d99cfe..bd4ecf2d4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@vtex/api", - "version": "6.45.19", + "version": "6.45.20", "description": "VTEX I/O API client", "main": "lib/index.js", "typings": "lib/index.d.ts", diff --git a/src/service/tracing/TracerSingleton.ts b/src/service/tracing/TracerSingleton.ts index 671361755..30031568f 100644 --- a/src/service/tracing/TracerSingleton.ts +++ b/src/service/tracing/TracerSingleton.ts @@ -33,12 +33,6 @@ export class TracerSingleton { reporter: { agentHost: process.env.VTEX_OWN_NODE_IP, }, - sampler: { - host: process.env.VTEX_OWN_NODE_IP, - param: 0.05, - refreshIntervalMs: 60 * 1000, - type: 'remote', - }, serviceName, } diff --git a/src/service/tracing/tracingMiddlewares.ts b/src/service/tracing/tracingMiddlewares.ts index 9e9a0093b..2f7fae551 100644 --- a/src/service/tracing/tracingMiddlewares.ts +++ b/src/service/tracing/tracingMiddlewares.ts @@ -30,14 +30,14 @@ export const addTracingMiddleware = (tracer: Tracer) => { return async function addTracing(ctx: ServiceContext, next: () => Promise) { const start = process.hrtime() concurrentRequests.inc(1) + const rootSpan = tracer.extract(FORMAT_HTTP_HEADERS, ctx.request.headers) as undefined | SpanContext - if (PATHS_BLACKLISTED_FOR_TRACING.includes(ctx.request.path)) { + if (!shouldTrace(ctx, rootSpan)) { await next() concurrentRequests.dec(1) return } - const rootSpan = tracer.extract(FORMAT_HTTP_HEADERS, ctx.request.headers) as undefined | SpanContext const currentSpan = tracer.startSpan('unknown-operation', { childOf: rootSpan, tags: { [OpentracingTags.SPAN_KIND]: OpentracingTags.SPAN_KIND_RPC_SERVER }, @@ -150,3 +150,8 @@ export const traceUserLandRemainingPipelineMiddleware = () => { } } } +function shouldTrace(ctx: ServiceContext, rootSpan: SpanContext | undefined) { + // Should trace if path isnt blacklisted and tracing decision came from the edge + return !PATHS_BLACKLISTED_FOR_TRACING.includes(ctx.request.path) && rootSpan != null +} +