@@ -41,3 +41,42 @@ describe("buildResource", () => {
4141 expect ( resource . attributes [ "service.name" ] ) . toBe ( "my-override" )
4242 } )
4343} )
44+
45+ describe ( "setupOtel temporality" , ( ) => {
46+ const originalEnv = process . env [ "OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE" ]
47+ afterEach ( ( ) => {
48+ if ( originalEnv === undefined ) {
49+ delete process . env [ "OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE" ]
50+ } else {
51+ process . env [ "OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE" ] = originalEnv
52+ }
53+ } )
54+
55+ test ( "defaults to cumulative when env var is unset" , ( ) => {
56+ delete process . env [ "OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE" ]
57+ const pref = process . env [ "OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE" ] ?. toLowerCase ( )
58+ const preferDelta = pref === "delta" || pref === "lowmemory"
59+ expect ( preferDelta ) . toBe ( false )
60+ } )
61+
62+ test ( "selects delta when env var is 'delta'" , ( ) => {
63+ process . env [ "OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE" ] = "delta"
64+ const pref = process . env [ "OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE" ] ?. toLowerCase ( )
65+ const preferDelta = pref === "delta" || pref === "lowmemory"
66+ expect ( preferDelta ) . toBe ( true )
67+ } )
68+
69+ test ( "selects delta when env var is 'lowmemory'" , ( ) => {
70+ process . env [ "OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE" ] = "lowmemory"
71+ const pref = process . env [ "OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE" ] ?. toLowerCase ( )
72+ const preferDelta = pref === "delta" || pref === "lowmemory"
73+ expect ( preferDelta ) . toBe ( true )
74+ } )
75+
76+ test ( "is case-insensitive" , ( ) => {
77+ process . env [ "OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE" ] = "Delta"
78+ const pref = process . env [ "OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE" ] ?. toLowerCase ( )
79+ const preferDelta = pref === "delta" || pref === "lowmemory"
80+ expect ( preferDelta ) . toBe ( true )
81+ } )
82+ } )
0 commit comments