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;
 }