File tree Expand file tree Collapse file tree 4 files changed +25
-7
lines changed
opentelemetry-exporter-collector-grpc/test
opentelemetry-exporter-collector Expand file tree Collapse file tree 4 files changed +25
-7
lines changed Original file line number Diff line number Diff line change @@ -422,8 +422,8 @@ export function ensureResourceIsCorrect(
422422 {
423423 key : 'version' ,
424424 value : {
425- doubleValue : 1 ,
426- value : 'doubleValue ' ,
425+ intValue : '1' ,
426+ value : 'intValue ' ,
427427 } ,
428428 } ,
429429 {
Original file line number Diff line number Diff line change @@ -32,6 +32,9 @@ import {
3232 CollectorExporterConfigBase ,
3333} from './types' ;
3434
35+ const MAX_INTEGER_VALUE = 2147483647 ;
36+ const MIN_INTEGER_VALUE = - 2147483648 ;
37+
3538/**
3639 * Converts attributes to KeyValue array
3740 * @param attributes
@@ -95,8 +98,14 @@ export function toCollectorAnyValue(
9598 anyValue . stringValue = value ;
9699 } else if ( typeof value === 'boolean' ) {
97100 anyValue . boolValue = value ;
101+ } else if (
102+ typeof value === 'number' &&
103+ value <= MAX_INTEGER_VALUE &&
104+ value >= MIN_INTEGER_VALUE &&
105+ Number . isInteger ( value )
106+ ) {
107+ anyValue . intValue = value ;
98108 } else if ( typeof value === 'number' ) {
99- // all numbers will be treated as double
100109 anyValue . doubleValue = value ;
101110 } else if ( Array . isArray ( value ) ) {
102111 anyValue . arrayValue = toCollectorArrayValue ( value ) ;
Original file line number Diff line number Diff line change @@ -37,12 +37,21 @@ describe('transform', () => {
3737 ] ) ;
3838 } ) ;
3939
40- it ( 'should convert attribute integer' , ( ) => {
40+ it ( 'should convert attribute integer to integer ' , ( ) => {
4141 const attributes : SpanAttributes = {
4242 foo : 13 ,
4343 } ;
4444 assert . deepStrictEqual ( transform . toCollectorAttributes ( attributes ) , [
45- { key : 'foo' , value : { doubleValue : 13 } } ,
45+ { key : 'foo' , value : { intValue : 13 } } ,
46+ ] ) ;
47+ } ) ;
48+
49+ it ( 'should convert attribute integer to double' , ( ) => {
50+ const attributes : SpanAttributes = {
51+ foo : 2247483647 ,
52+ } ;
53+ assert . deepStrictEqual ( transform . toCollectorAttributes ( attributes ) , [
54+ { key : 'foo' , value : { doubleValue : 2247483647 } } ,
4655 ] ) ;
4756 } ) ;
4857
@@ -118,7 +127,7 @@ describe('transform', () => {
118127 } ,
119128 {
120129 key : 'version' ,
121- value : { doubleValue : 1 } ,
130+ value : { intValue : 1 } ,
122131 } ,
123132 { key : 'success' , value : { boolValue : true } } ,
124133 ] ,
Original file line number Diff line number Diff line change @@ -540,7 +540,7 @@ export function ensureWebResourceIsCorrect(
540540 {
541541 key : 'version' ,
542542 value : {
543- doubleValue : 1 ,
543+ intValue : 1 ,
544544 } ,
545545 } ,
546546 {
You can’t perform that action at this time.
0 commit comments