1414 * limitations under the License.
1515 */
1616
17- import { logger , Logger , Measurement , Metric , MetricDescriptor as OCMetricDescriptor , MetricProducerManager , Metrics , StatsEventListener , TagKey , TagValue , View } from '@opencensus/core' ;
17+ import { logger , Logger , Measurement , Metric , MetricDescriptor as OCMetricDescriptor , MetricProducerManager , Metrics , StatsEventListener , TagKey , TagValue , version , View } from '@opencensus/core' ;
1818import { auth , JWT } from 'google-auth-library' ;
1919import { google } from 'googleapis' ;
20+
2021import { createMetricDescriptorData , createTimeSeriesList , getDefaultResource } from './stackdriver-stats-utils' ;
2122import { MonitoredResource , StackdriverExporterOptions , TimeSeries } from './types' ;
2223
23- google . options ( { headers : { 'x-opencensus-outgoing-request' : 0x1 } } ) ;
24+ const OC_USER_AGENT = {
25+ product : 'opencensus-node' ,
26+ version
27+ } ;
28+ const OC_HEADER = {
29+ 'x-opencensus-outgoing-request' : 0x1
30+ } ;
31+
32+ google . options ( { headers : OC_HEADER } ) ;
2433const monitoring = google . monitoring ( 'v3' ) ;
2534const GOOGLEAPIS_SCOPE = 'https://www.googleapis.com/auth/cloud-platform' ;
2635
@@ -151,10 +160,13 @@ export class StackdriverStatsExporter implements StatsEventListener {
151160 } ;
152161
153162 return new Promise ( ( resolve , reject ) => {
154- monitoring . projects . timeSeries . create ( request , ( err : Error ) => {
155- this . logger . debug ( 'sent time series' , request . resource . timeSeries ) ;
156- err ? reject ( err ) : resolve ( ) ;
157- } ) ;
163+ monitoring . projects . timeSeries . create (
164+ request , { headers : OC_HEADER , userAgentDirectives : [ OC_USER_AGENT ] } ,
165+ ( err ?: Error ) => {
166+ this . logger . debug (
167+ 'sent time series' , request . resource . timeSeries ) ;
168+ err ? reject ( err ) : resolve ( ) ;
169+ } ) ;
158170 } ) ;
159171 } ) ;
160172 }
@@ -173,10 +185,12 @@ export class StackdriverStatsExporter implements StatsEventListener {
173185 } ;
174186
175187 return new Promise ( ( resolve , reject ) => {
176- monitoring . projects . metricDescriptors . create ( request , ( err : Error ) => {
177- this . logger . debug ( 'sent metric descriptor' , request . resource ) ;
178- err ? reject ( err ) : resolve ( ) ;
179- } ) ;
188+ monitoring . projects . metricDescriptors . create (
189+ request , { headers : OC_HEADER , userAgentDirectives : [ OC_USER_AGENT ] } ,
190+ ( err ?: Error ) => {
191+ this . logger . debug ( 'sent metric descriptor' , request . resource ) ;
192+ err ? reject ( err ) : resolve ( ) ;
193+ } ) ;
180194 } ) ;
181195 } ) ;
182196 }
0 commit comments