From 5ecd8a9231c9f964506c8170070238bf07a463d3 Mon Sep 17 00:00:00 2001 From: Shivanee Persaud Date: Mon, 3 Aug 2026 16:43:07 -0700 Subject: [PATCH 1/2] feat(generator): import getGaxTracer when enableTelemetryTracing is set --- .../cjs/typescript_gapic/src/$version/$service_client.ts.njk | 1 + .../esm/typescript_gapic/esm/src/$version/$service_client.ts.njk | 1 + 2 files changed, 2 insertions(+) diff --git a/core/generator/gapic-generator-typescript/templates/cjs/typescript_gapic/src/$version/$service_client.ts.njk b/core/generator/gapic-generator-typescript/templates/cjs/typescript_gapic/src/$version/$service_client.ts.njk index 90553e89770f..24f467204106 100644 --- a/core/generator/gapic-generator-typescript/templates/cjs/typescript_gapic/src/$version/$service_client.ts.njk +++ b/core/generator/gapic-generator-typescript/templates/cjs/typescript_gapic/src/$version/$service_client.ts.njk @@ -55,6 +55,7 @@ import {loggingUtils as logging} from 'google-gax'; import jsonProtos = require('../../protos/protos.json'); import {loggingUtils as logging, decodeAnyProtosInArray} from 'google-gax'; {%- endif %} +{% if api.enableTelemetryTracing %} import { getGaxTracer } from 'google-gax'; {% endif %} /** * Client JSON configuration object, loaded from diff --git a/core/generator/gapic-generator-typescript/templates/esm/typescript_gapic/esm/src/$version/$service_client.ts.njk b/core/generator/gapic-generator-typescript/templates/esm/typescript_gapic/esm/src/$version/$service_client.ts.njk index e505db0eef11..71bd062a9ff5 100644 --- a/core/generator/gapic-generator-typescript/templates/esm/typescript_gapic/esm/src/$version/$service_client.ts.njk +++ b/core/generator/gapic-generator-typescript/templates/esm/typescript_gapic/esm/src/$version/$service_client.ts.njk @@ -50,6 +50,7 @@ import {fileURLToPath} from 'url'; import {getJSON} from '../json-helper.cjs'; // @ts-ignore const dirname = path.dirname(fileURLToPath(import.meta.url)); +{% if api.enableTelemetryTracing %} import { getGaxTracer } from 'google-gax'; {% endif %} /** * Client JSON configuration object, loaded from From c1f66f0abc9290398a7e9cec54c44b660b9692ff Mon Sep 17 00:00:00 2001 From: Shivanee Persaud Date: Mon, 3 Aug 2026 18:03:19 -0700 Subject: [PATCH 2/2] feat(generator): add internalTelemetryInfo configuration when enableTelemetryTracing is enabled --- .../src/$version/$service_client.ts.njk | 10 +++++++++- .../esm/src/$version/$service_client.ts.njk | 10 +++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/core/generator/gapic-generator-typescript/templates/cjs/typescript_gapic/src/$version/$service_client.ts.njk b/core/generator/gapic-generator-typescript/templates/cjs/typescript_gapic/src/$version/$service_client.ts.njk index 24f467204106..6b15efaa0cb9 100644 --- a/core/generator/gapic-generator-typescript/templates/cjs/typescript_gapic/src/$version/$service_client.ts.njk +++ b/core/generator/gapic-generator-typescript/templates/cjs/typescript_gapic/src/$version/$service_client.ts.njk @@ -55,7 +55,6 @@ import {loggingUtils as logging} from 'google-gax'; import jsonProtos = require('../../protos/protos.json'); import {loggingUtils as logging, decodeAnyProtosInArray} from 'google-gax'; {%- endif %} -{% if api.enableTelemetryTracing %} import { getGaxTracer } from 'google-gax'; {% endif %} /** * Client JSON configuration object, loaded from @@ -198,6 +197,15 @@ export class {{ service.name }}Client { } {%- endif %} + {%- if api.enableTelemetryTracing %} + opts.internalTelemetryInfo = { + gcpClientService: '{{ api.loggingName }}', + gcpClientVersion: '{{ api.naming.version }}', + gcpRepo: 'googleapis/google-cloud-node', + gcpArtifact: '{{ api.publishName }}', + } + {%- endif %} + // Choose either gRPC or proto-over-HTTP implementation of google-gax. this._gaxModule = {% if not api.legacyProtoLoad %}opts.fallback ? gaxInstance.fallback : gaxInstance{% else %}gax{% endif %}; diff --git a/core/generator/gapic-generator-typescript/templates/esm/typescript_gapic/esm/src/$version/$service_client.ts.njk b/core/generator/gapic-generator-typescript/templates/esm/typescript_gapic/esm/src/$version/$service_client.ts.njk index 71bd062a9ff5..886198d4e43d 100644 --- a/core/generator/gapic-generator-typescript/templates/esm/typescript_gapic/esm/src/$version/$service_client.ts.njk +++ b/core/generator/gapic-generator-typescript/templates/esm/typescript_gapic/esm/src/$version/$service_client.ts.njk @@ -50,7 +50,6 @@ import {fileURLToPath} from 'url'; import {getJSON} from '../json-helper.cjs'; // @ts-ignore const dirname = path.dirname(fileURLToPath(import.meta.url)); -{% if api.enableTelemetryTracing %} import { getGaxTracer } from 'google-gax'; {% endif %} /** * Client JSON configuration object, loaded from @@ -204,6 +203,15 @@ export class {{ service.name }}Client { gaxInstance = gax as typeof gax; } {%- endif %} + + {%- if api.enableTelemetryTracing %} + opts.internalTelemetryInfo = { + gcpClientService: '{{ api.loggingName }}', + gcpClientVersion: '{{ api.naming.version }}', + gcpRepo: 'googleapis/google-cloud-node', + gcpArtifact: '{{ api.publishName }}', + } + {%- endif %} // Choose either gRPC or proto-over-HTTP implementation of google-gax. this._gaxModule = {% if not api.legacyProtoLoad %}opts.fallback ? gaxInstance.fallback : gaxInstance{% else %}gax{% endif %};