diff --git a/docs/en/changes/changes.md b/docs/en/changes/changes.md
index 1fc19a186325..ae4dfb693328 100644
--- a/docs/en/changes/changes.md
+++ b/docs/en/changes/changes.md
@@ -52,6 +52,7 @@
 * Fix `index out of bounds exception` in `aggregate_labels` MQE function.
 * Do not print configurations values in logs to avoid sensitive info leaked.
 * Move created the latest index before retrieval indexes by aliases to avoid the 404 exception. This just prevents some interference from manual operations.
+* Add more Go VM metrics, as new skywalking-go agent provided since its 0.2 release.
 * Add component ID for Lock (ID=5016).
 
 #### UI
diff --git a/oap-server/server-starter/src/main/resources/meter-analyzer-config/go-runtime.yaml b/oap-server/server-starter/src/main/resources/meter-analyzer-config/go-runtime.yaml
index b2b723225f1f..61883bb5c16d 100644
--- a/oap-server/server-starter/src/main/resources/meter-analyzer-config/go-runtime.yaml
+++ b/oap-server/server-starter/src/main/resources/meter-analyzer-config/go-runtime.yaml
@@ -31,4 +31,50 @@ metricsRules:
   - name: instance_host_cpu_used_rate
     exp: instance_host_cpu_used_rate
   - name: instance_host_mem_used_rate
-    exp: instance_host_mem_used_rate
\ No newline at end of file
+    exp: instance_host_mem_used_rate
+  - name: instance_golang_heap_alloc_rate
+    exp: instance_golang_heap_alloc_size.increase('PT1M')
+  - name: instance_golang_gc_count_labeled
+    exp: instance_golang_gc_count_labeled.sum(['service', 'instance', 'type']).increase('PT1M')
+  - name: instance_golang_heap_alloc_objects
+    exp: instance_golang_heap_alloc_objects
+  - name: instance_golang_heap_frees
+    exp: instance_golang_heap_frees.increase('PT1M')
+  - name: instance_golang_heap_frees_objects
+    exp: instance_golang_heap_frees_objects.increase('PT1M')
+  - name: instance_golang_memory_heap_labeled
+    exp: instance_golang_memory_heap_labeled.sum(['service', 'instance', 'type'])
+  - name: instance_golang_metadata_mcache_labeled
+    exp: instance_golang_metadata_mcache_labeled.sum(['service', 'instance', 'type'])
+  - name: instance_golang_metadata_mspan_labeled
+    exp: instance_golang_metadata_mspan_labeled.sum(['service', 'instance', 'type'])
+  - name: instance_golang_cgo_calls
+    exp: instance_golang_cgo_calls.increase('PT1M')
+  - name: instance_golang_gc_heap_goal
+    exp: instance_golang_gc_heap_goal
+  - name: instance_golang_gc_heap_objects
+    exp: instance_golang_gc_heap_objects
+  - name: instance_golang_gc_heap_tiny_allocs
+    exp: instance_golang_gc_heap_tiny_allocs
+  - name: instance_golang_gc_limiter_last_enabled
+    exp: instance_golang_gc_limiter_last_enabled
+  - name: instance_golang_gc_stack_starting_size
+    exp: instance_golang_gc_stack_starting_size
+  - name: instance_golang_memory_metadata_other
+    exp: instance_golang_memory_metadata_other
+  - name: instance_golang_memory_os_stacks
+    exp: instance_golang_memory_os_stacks
+  - name: instance_golang_memory_other
+    exp: instance_golang_memory_other
+  - name: instance_golang_memory_profiling_buckets
+    exp: instance_golang_memory_profiling_buckets
+  - name: instance_golang_memory_total
+    exp: instance_golang_memory_total
+  - name: instance_golang_gc_heap_allocs_by_size
+    exp: instance_golang_gc_heap_allocs_by_size.histogram().histogram_percentile([50,70,90,99]).downsampling(SUM)
+  - name: instance_golang_gc_heap_frees_by_size
+    exp: instance_golang_gc_heap_frees_by_size.histogram().histogram_percentile([50,70,90,99]).downsampling(SUM)
+  - name: instance_golang_gc_pauses
+    exp: instance_golang_gc_pauses.histogram().histogram_percentile([50,70,90,99]).downsampling(SUM)
+  - name: instance_golang_sched_latencies
+    exp: instance_golang_sched_latencies.histogram().histogram_percentile([50,70,90,99]).downsampling(SUM)
\ No newline at end of file
diff --git a/oap-server/server-starter/src/main/resources/ui-initialized-templates/general/general-instance.json b/oap-server/server-starter/src/main/resources/ui-initialized-templates/general/general-instance.json
index 2a371d7ded76..633de7bb874f 100644
--- a/oap-server/server-starter/src/main/resources/ui-initialized-templates/general/general-instance.json
+++ b/oap-server/server-starter/src/main/resources/ui-initialized-templates/general/general-instance.json
@@ -1135,26 +1135,31 @@
               "name": "Golang",
               "children": [
                 {
-                  "x": 0,
-                  "y": 0,
+                  "x": 8,
+                  "y": 12,
                   "w": 8,
-                  "h": 13,
-                  "i": "24",
+                  "h": 12,
+                  "i": "17",
                   "type": "Widget",
                   "widget": {
-                    "title": "Heap Alloc (MB)"
+                    "title": "GC Pause Time Per Minute (milliseconds)"
                   },
                   "graph": {
                     "type": "Line",
                     "step": false,
                     "smooth": false,
-                    "showSymbol": true,
+                    "showSymbol": false,
                     "showXAxis": true,
                     "showYAxis": true
                   },
+                  "metricConfig": [
+                    {
+                      "calculation": "nanosecondToMillisecond"
+                    }
+                  ],
                   "metricMode": "Expression",
                   "expressions": [
-                    "meter_instance_golang_heap_alloc/1048576"
+                    "meter_instance_golang_gc_pauses/1000000"
                   ],
                   "typesOfMQE": [
                     "TIME_SERIES_VALUES"
@@ -1164,11 +1169,11 @@
                   "x": 8,
                   "y": 0,
                   "w": 8,
-                  "h": 13,
-                  "i": "16",
+                  "h": 12,
+                  "i": "19",
                   "type": "Widget",
                   "widget": {
-                    "title": "Stack Used (MB)"
+                    "title": "Live Threads Num"
                   },
                   "graph": {
                     "type": "Line",
@@ -1179,35 +1184,52 @@
                     "showYAxis": true
                   },
                   "metricMode": "Expression",
+                  "metricConfig": [
+                    {
+                      "label": "OS Thread Count"
+                    },
+                    {
+                      "label": "GoRoutine Count"
+                    }
+                  ],
                   "expressions": [
-                    "meter_instance_golang_stack_used/1048576"
+                    "meter_instance_golang_live_goroutines_num"
                   ],
                   "typesOfMQE": [
                     "TIME_SERIES_VALUES"
+                  ],
+                  "metrics": [
+                    "meter_instance_golang_os_threads_num",
+                    "meter_instance_golang_live_goroutines_num"
+                  ],
+                  "metricTypes": [
+                    "readMetricsValues",
+                    "readMetricsValues"
                   ]
                 },
                 {
-                  "x": 16,
-                  "y": 0,
+                  "x": 0,
+                  "y": 48,
                   "w": 8,
-                  "h": 13,
-                  "i": "17",
+                  "h": 12,
+                  "i": "22",
                   "type": "Widget",
                   "widget": {
-                    "title": "Golang GC Pause Time Per Minute (ms)"
+                    "title": "Metadata Mspan (MB)"
                   },
                   "graph": {
                     "type": "Bar",
                     "showBackground": true
                   },
+                  "metricMode": "Expression",
                   "metricConfig": [
                     {
-                      "label": "pause_time"
+                      "label": "host_mem_used_rate",
+                      "calculation": "byteToMB"
                     }
                   ],
-                  "metricMode": "Expression",
                   "expressions": [
-                    "meter_instance_golang_gc_pause_time"
+                    "meter_instance_golang_metadata_mspan_labeled"
                   ],
                   "typesOfMQE": [
                     "TIME_SERIES_VALUES"
@@ -1215,82 +1237,134 @@
                 },
                 {
                   "x": 0,
-                  "y": 13,
+                  "y": 12,
                   "w": 8,
-                  "h": 13,
-                  "i": "18",
+                  "h": 12,
+                  "i": "25",
                   "type": "Widget",
-                  "widget": {
-                    "title": "Golang GC Count Per Minute"
-                  },
                   "graph": {
-                    "type": "Bar",
-                    "showBackground": true
+                    "type": "Line",
+                    "step": false,
+                    "smooth": false,
+                    "showSymbol": false,
+                    "showXAxis": true,
+                    "showYAxis": true
                   },
-                  "metrics": [
-                    "meter_instance_golang_gc_count"
+                  "widget": {
+                    "title": "GC Count Per Minute"
+                  },
+                  "metricMode": "Expression",
+                  "expressions": [
+                    "meter_instance_golang_gc_count_labeled"
                   ],
-                  "metricTypes": [
-                    "readMetricsValues"
+                  "typesOfMQE": [
+                    "TIME_SERIES_VALUES"
                   ]
                 },
                 {
                   "x": 8,
-                  "y": 13,
+                  "y": 24,
                   "w": 8,
-                  "h": 13,
-                  "i": "19",
+                  "h": 12,
+                  "i": "26",
                   "type": "Widget",
+                  "graph": {
+                    "type": "Line",
+                    "step": false,
+                    "smooth": false,
+                    "showSymbol": false,
+                    "showXAxis": true,
+                    "showYAxis": true
+                  },
                   "widget": {
-                    "title": "Live Goroutines Num"
+                    "title": "Heap Alloc Size Per Minutes (MB)"
                   },
+                  "metricMode": "Expression",
+                  "expressions": [
+                    "meter_instance_golang_heap_alloc_rate/1024/1024"
+                  ],
+                  "typesOfMQE": [
+                    "TIME_SERIES_VALUES"
+                  ]
+                },
+                {
+                  "x": 16,
+                  "y": 0,
+                  "w": 8,
+                  "h": 12,
+                  "i": "27",
+                  "type": "Widget",
                   "graph": {
                     "type": "Line",
                     "step": false,
                     "smooth": false,
-                    "showSymbol": true,
+                    "showSymbol": false,
                     "showXAxis": true,
                     "showYAxis": true
                   },
-                  "metricMode": "Expression",
+                  "widget": {
+                    "title": "GoRoutine Schedule Time (millisecond)"
+                  },
                   "metricConfig": [
                     {
-                      "label": "live_goroutines_num"
+                      "unit": "Millisecond"
                     }
                   ],
+                  "metricMode": "Expression",
                   "expressions": [
-                    "meter_instance_golang_live_goroutines_num"
+                    "meter_instance_golang_sched_latencies/1000000"
                   ],
                   "typesOfMQE": [
                     "TIME_SERIES_VALUES"
                   ]
                 },
                 {
-                  "x": 16,
-                  "y": 13,
+                  "x": 0,
+                  "y": 24,
                   "w": 8,
-                  "h": 13,
-                  "i": "20",
+                  "h": 12,
+                  "i": "28",
                   "type": "Widget",
+                  "graph": {
+                    "type": "Line",
+                    "step": false,
+                    "smooth": false,
+                    "showSymbol": false,
+                    "showXAxis": true,
+                    "showYAxis": true
+                  },
                   "widget": {
-                    "title": "Golang OS Threads Num"
+                    "title": "GC Free Size Per Minute (MB)"
                   },
+                  "metricMode": "Expression",
+                  "expressions": [
+                    "meter_instance_golang_heap_frees/1024/1024"
+                  ],
+                  "typesOfMQE": [
+                    "TIME_SERIES_VALUES"
+                  ]
+                },
+                {
+                  "x": 8,
+                  "y": 36,
+                  "w": 8,
+                  "h": 12,
+                  "i": "29",
+                  "type": "Widget",
                   "graph": {
                     "type": "Line",
                     "step": false,
                     "smooth": false,
-                    "showSymbol": true,
+                    "showSymbol": false,
                     "showXAxis": true,
                     "showYAxis": true
                   },
+                  "widget": {
+                    "title": "Alloc Size Per Minute (KB)"
+                  },
                   "metricMode": "Expression",
-                  "metricConfig": [
-                    {
-                      "label": "os_threads_num"
-                    }
-                  ],
                   "expressions": [
-                    "meter_instance_golang_os_threads_num"
+                    "meter_instance_golang_gc_heap_allocs_by_size/1024"
                   ],
                   "typesOfMQE": [
                     "TIME_SERIES_VALUES"
@@ -1298,30 +1372,51 @@
                 },
                 {
                   "x": 0,
-                  "y": 26,
+                  "y": 36,
                   "w": 8,
-                  "h": 13,
-                  "i": "21",
+                  "h": 12,
+                  "i": "30",
                   "type": "Widget",
+                  "graph": {
+                    "type": "Line",
+                    "step": false,
+                    "smooth": false,
+                    "showSymbol": false,
+                    "showXAxis": true,
+                    "showYAxis": true
+                  },
                   "widget": {
-                    "title": "Host CPU Used Rate (%)"
+                    "title": "Free Size Per Minute (KB)"
                   },
+                  "metricMode": "Expression",
+                  "expressions": [
+                    "meter_instance_golang_gc_heap_frees_by_size/1024"
+                  ],
+                  "typesOfMQE": [
+                    "TIME_SERIES_VALUES"
+                  ]
+                },
+                {
+                  "x": 16,
+                  "y": 24,
+                  "w": 8,
+                  "h": 12,
+                  "i": "31",
+                  "type": "Widget",
                   "graph": {
                     "type": "Line",
                     "step": false,
                     "smooth": false,
-                    "showSymbol": true,
+                    "showSymbol": false,
                     "showXAxis": true,
                     "showYAxis": true
                   },
+                  "widget": {
+                    "title": "Heap Object Count"
+                  },
                   "metricMode": "Expression",
-                  "metricConfig": [
-                    {
-                      "label": "host_cpu_used_rate"
-                    }
-                  ],
                   "expressions": [
-                    "meter_instance_host_cpu_used_rate"
+                    "meter_instance_golang_gc_heap_objects"
                   ],
                   "typesOfMQE": [
                     "TIME_SERIES_VALUES"
@@ -1329,30 +1424,104 @@
                 },
                 {
                   "x": 8,
-                  "y": 26,
+                  "y": 48,
                   "w": 8,
-                  "h": 13,
-                  "i": "22",
+                  "h": 12,
+                  "i": "32",
                   "type": "Widget",
+                  "graph": {
+                    "type": "Bar",
+                    "showBackground": true
+                  },
                   "widget": {
-                    "title": "Host Memory Used Rate (%)"
+                    "title": "Metadata Mcache (MB)"
                   },
+                  "metricMode": "Expression",
+                  "expressions": [
+                    "meter_instance_golang_metadata_mcache_labeled"
+                  ],
+                  "typesOfMQE": [
+                    "TIME_SERIES_VALUES"
+                  ]
+                },
+                {
+                  "x": 0,
+                  "y": 0,
+                  "w": 8,
+                  "h": 12,
+                  "i": "33",
+                  "type": "Widget",
                   "graph": {
                     "type": "Line",
                     "step": false,
                     "smooth": false,
-                    "showSymbol": true,
+                    "showSymbol": false,
                     "showXAxis": true,
                     "showYAxis": true
                   },
-                  "metricMode": "Expression",
                   "metricConfig": [
                     {
-                      "label": "host_mem_used_rate"
+                      "unit": "MB"
                     }
                   ],
+                  "widget": {
+                    "title": "Memory Heap Size (MB)"
+                  },
+                  "metricMode": "Expression",
+                  "expressions": [
+                    "meter_instance_golang_memory_heap_labeled/1024/1024"
+                  ],
+                  "typesOfMQE": [
+                    "TIME_SERIES_VALUES"
+                  ]
+                },
+                {
+                  "x": 16,
+                  "y": 36,
+                  "w": 8,
+                  "h": 12,
+                  "i": "34",
+                  "type": "Widget",
+                  "graph": {
+                    "type": "Line",
+                    "step": false,
+                    "smooth": false,
+                    "showSymbol": false,
+                    "showXAxis": true,
+                    "showYAxis": true
+                  },
+                  "widget": {
+                    "title": "CGO Calls Per Minute"
+                  },
+                  "metricMode": "Expression",
+                  "expressions": [
+                    "meter_instance_golang_cgo_calls"
+                  ],
+                  "typesOfMQE": [
+                    "TIME_SERIES_VALUES"
+                  ]
+                },
+                {
+                  "x": 16,
+                  "y": 12,
+                  "w": 8,
+                  "h": 12,
+                  "i": "35",
+                  "type": "Widget",
+                  "graph": {
+                    "type": "Line",
+                    "step": false,
+                    "smooth": false,
+                    "showSymbol": false,
+                    "showXAxis": true,
+                    "showYAxis": true
+                  },
+                  "widget": {
+                    "title": "GC Goal Size (MB)"
+                  },
+                  "metricMode": "Expression",
                   "expressions": [
-                    "meter_instance_host_mem_used_rate"
+                    "meter_instance_golang_gc_heap_goal/1024/1024"
                   ],
                   "typesOfMQE": [
                     "TIME_SERIES_VALUES"
