feat: add tags for spans (#34)
* feat: add tags for spans
* feat: add detailMode
diff --git a/README.md b/README.md
index 2c8eb52..cd55aa9 100644
--- a/README.md
+++ b/README.md
@@ -53,6 +53,7 @@
|autoTracePerf|Boolean|Support sending of performance data automatically.|false|true|
|vue|Boolean|Support vue errors monitoring|false|true|
|traceSDKInternal|Boolean|Support tracing SDK internal RPC.|false|false|
+|detailMode|Boolean|Support tracing http method and url as tags in spans.|false|true|
## Collect Metrics Manually
Use the `setPerformance` method to report metrics at the moment of page loaded or any other moment meaningful.
diff --git a/src/monitor.ts b/src/monitor.ts
index 7c63a4d..560d069 100644
--- a/src/monitor.ts
+++ b/src/monitor.ts
@@ -30,6 +30,7 @@
useFmp: false, // use first meaningful paint
enableSPA: false,
traceSDKInternal: false,
+ detailMode: true,
} as CustomOptionsType,
register(configs: CustomOptionsType) {
diff --git a/src/trace/segment.ts b/src/trace/segment.ts
index fbbd564..2787d3c 100644
--- a/src/trace/segment.ts
+++ b/src/trace/segment.ts
@@ -95,6 +95,18 @@
parentSpanId: segment.spans.length - 1,
componentId: ComponentId,
peer: url.host,
+ tags: options.detailMode
+ ? [
+ {
+ key: 'http.method',
+ value: config[0],
+ },
+ {
+ key: 'url',
+ value: segCollector[i].event.responseURL,
+ },
+ ]
+ : undefined,
};
segment = {
...segment,
diff --git a/src/types.d.ts b/src/types.d.ts
index 7a21889..58f39bb 100644
--- a/src/types.d.ts
+++ b/src/types.d.ts
@@ -16,7 +16,7 @@
*/
export interface CustomOptionsType {
- collector: string;
+ collector?: string;
service: string;
pagePath: string;
serviceVersion: string;
@@ -27,5 +27,6 @@
useFmp?: boolean;
enableSPA?: boolean;
vue?: any;
- traceSDKInternal: boolean;
+ traceSDKInternal?: boolean;
+ detailMode?: boolean;
}