11import { getCurrentHub , Hub } from '@sentry/hub' ;
2- import { Event , Measurements , Transaction as TransactionInterface , TransactionContext } from '@sentry/types' ;
2+ import {
3+ Event ,
4+ Measurements ,
5+ Transaction as TransactionInterface ,
6+ TransactionContext ,
7+ TransactionMetadata ,
8+ } from '@sentry/types' ;
39import { dropUndefinedKeys , isInstanceOf , logger } from '@sentry/utils' ;
410
511import { Span as SpanClass , SpanRecorder } from './span' ;
612
7- interface TransactionMetadata {
8- transactionSampling ?: { [ key : string ] : string | number } ;
9- }
10-
1113/** JSDoc */
1214export class Transaction extends SpanClass implements TransactionInterface {
1315 public name : string ;
1416
15- private _metadata : TransactionMetadata = { } ;
17+ public metadata : TransactionMetadata ;
1618
1719 private _measurements : Measurements = { } ;
1820
@@ -39,6 +41,7 @@ export class Transaction extends SpanClass implements TransactionInterface {
3941
4042 this . name = transactionContext . name || '' ;
4143
44+ this . metadata = transactionContext . metadata || { } ;
4245 this . _trimEnd = transactionContext . trimEnd ;
4346
4447 // this is because transactions are also spans, and spans have a transaction pointer
@@ -76,7 +79,7 @@ export class Transaction extends SpanClass implements TransactionInterface {
7679 * @hidden
7780 */
7881 public setMetadata ( newMetadata : TransactionMetadata ) : void {
79- this . _metadata = { ...this . _metadata , ...newMetadata } ;
82+ this . metadata = { ...this . metadata , ...newMetadata } ;
8083 }
8184
8285 /**
@@ -123,7 +126,7 @@ export class Transaction extends SpanClass implements TransactionInterface {
123126 timestamp : this . endTimestamp ,
124127 transaction : this . name ,
125128 type : 'transaction' ,
126- debug_meta : this . _metadata ,
129+ debug_meta : this . metadata ,
127130 } ;
128131
129132 const hasMeasurements = Object . keys ( this . _measurements ) . length > 0 ;
0 commit comments