diff --git a/bench/Makefile b/bench/Makefile index e766e77044..7d3d5bf9e8 100644 --- a/bench/Makefile +++ b/bench/Makefile @@ -1,4 +1,4 @@ -REQ=20480 +REQ=262144 CLIENTS=64 ADDR=http://127.0.0.1:8500/v1/kv/bench DATA="74a31e96-1d0f-4fa7-aa14-7212a326986e" diff --git a/bench/README.md b/bench/README.md index b26b85ee4b..c1eb71f607 100644 --- a/bench/README.md +++ b/bench/README.md @@ -1,13 +1,14 @@ Consul Benchmark ================ -This repo contains the Packer automation necessary for the Consul benchmarks. +This repo contains the automation necessary for the Consul benchmarks. There is a single main Packer file `bench.json`. To use it, the variables -for `do_client_id` and `do_api_key` must be provided. There correspond to -your DigitalOcean client id and API key. +for `do_client_id` and `do_api_key` must be provided. These correspond to +your DigitalOcean client ID and API key. When Packer runs, it will generate 3 images: + * bench-bootstrap - Consul server in bootstrap mode * bench-server - Consul server * bench-worker - Worker node diff --git a/bench/bench.json b/bench/bench.json index d2c2d3c2ec..cac46c8d0a 100644 --- a/bench/bench.json +++ b/bench/bench.json @@ -1,86 +1,81 @@ { - "variables": { - "do_client_id": "", - "do_api_key": "" - }, - "builders": [ - { - "type": "digitalocean", - "api_key": "{{ user `do_api_key` }}", - "client_id": "{{ user `do_client_id` }}", - "region_id": "1", - "size_id": "66", - "image_id": "3101045", - "snapshot_name": "bench-bootstrap-{{ isotime }}", - "name": "bootstrap" + "variables": { + "do_size": "16gb", + "do_image": "ubuntu-14-04-x64", + "do_region": "nyc3" + }, + "builders": [ + { + "type": "digitalocean", + "region": "{{ user `do_region` }}", + "size": "{{ user `do_size` }}", + "image": "{{ user `do_image` }}", + "snapshot_name": "bench-bootstrap-{{ isotime }}", + "name": "bootstrap" }, { - "type": "digitalocean", - "api_key": "{{ user `do_api_key` }}", - "client_id": "{{ user `do_client_id` }}", - "region_id": "1", - "size_id": "66", - "image_id": "3101045", - "snapshot_name": "bench-server-{{ isotime }}", - "name": "server" + "type": "digitalocean", + "region": "{{ user `do_region` }}", + "size": "{{ user `do_size` }}", + "image": "{{ user `do_image` }}", + "snapshot_name": "bench-server-{{ isotime }}", + "name": "server" }, { - "type": "digitalocean", - "api_key": "{{ user `do_api_key` }}", - "client_id": "{{ user `do_client_id` }}", - "region_id": "1", - "size_id": "66", - "image_id": "3101045", - "snapshot_name": "bench-worker-{{ isotime }}", - "name": "worker" + "type": "digitalocean", + "region": "{{ user `do_region` }}", + "size": "{{ user `do_size` }}", + "image": "{{ user `do_image` }}", + "snapshot_name": "bench-worker-{{ isotime }}", + "name": "worker" } - ], - "provisioners":[ + ], + "provisioners":[ { - "type": "file", - "source": "conf/upstart.conf", - "destination": "/etc/init/consul.conf" + "type": "file", + "source": "conf/upstart.conf", + "destination": "/etc/init/consul.conf" }, { - "type": "shell", - "inline": [ - "mkdir /etc/consul.d", - "apt-get update", - "apt-get install unzip make", - "wget https://releases.hashicorp.com/consul/0.5.2/consul_0.5.2_linux_amd64.zip", - "unzip 0.5.2_linux_amd64.zip", - "mv consul /usr/local/bin/consul", - "chmod +x /usr/local/bin/consul" - ] + "type": "shell", + "inline": [ + "mkdir /etc/consul.d", + "apt-get update", + "apt-get install -y unzip make", + "wget https://releases.hashicorp.com/consul/0.7.1/consul_0.7.1_linux_amd64.zip", + "unzip consul_*_linux_amd64.zip", + "mv consul /usr/local/bin/consul", + "chmod +x /usr/local/bin/consul" + ] }, { - "type": "file", - "source": "conf/common.json", - "destination": "/etc/consul.d/common.json" + "type": "file", + "source": "conf/common.json", + "destination": "/etc/consul.d/common.json" }, { - "type": "file", - "source": "conf/bootstrap.json", - "destination": "/etc/consul.d/bootstrap.json", - "only": ["bootstrap"] + "type": "file", + "source": "conf/bootstrap.json", + "destination": "/etc/consul.d/bootstrap.json", + "only": ["bootstrap"] }, { - "type": "file", - "source": "conf/server.json", - "destination": "/etc/consul.d/server.json", - "only": ["server"] + "type": "file", + "source": "conf/server.json", + "destination": "/etc/consul.d/server.json", + "only": ["server"] }, { - "type": "shell", - "inline": [ - "curl https://s3.amazonaws.com/hc-ops/boom_linux_amd64 -o /usr/local/bin/boom", - "chmod +x /usr/local/bin/boom" - ] + "type": "shell", + "inline": [ + "curl https://s3.amazonaws.com/hc-ops/boom_linux_amd64 -o /usr/local/bin/boom", + "chmod +x /usr/local/bin/boom" + ] }, { - "type": "file", - "source": "Makefile", - "destination": "/Makefile" + "type": "file", + "source": "Makefile", + "destination": "/Makefile" } - ] + ] } diff --git a/bench/results-0.7.1.md b/bench/results-0.7.1.md new file mode 100644 index 0000000000..2f60609db3 --- /dev/null +++ b/bench/results-0.7.1.md @@ -0,0 +1,223 @@ +# Consul Benchmark Results + +As part of a benchmark, we started a 4 node DigitalOcean cluster to benchmark. +There are 3 servers, meaning writes must commit to at least 2 servers. +The cluster uses the 16GB DigitalOcean droplet which has the following specs: + + * 8 CPU Cores, 2Ghz + * 16GB RAM + * 160GB SSD disk + * 1Gbps NIC + +# Output + +Below is the output for a test run on a benchmark cluster. We ran the benchmark +several times to warm up the nodes, and this is just a single representative sample. + +Note, that a single worker was running the benchmark. This means the "stale" test +is not representative of total throughput, as the client was only routing to a +single server. + +We also did an initial run where we got lots of noise in the results, so we +increased the number of requests to try to get a better sample. + +``` +===== PUT test ===== +GOMAXPROCS=4 boom -m PUT -d "74a31e96-1d0f-4fa7-aa14-7212a326986e" -n 262144 -c 64 http://127.0.0.1:8500/v1/kv/bench +262144 / 262144 Booooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo! 100.00 % + +Summary: + Total: 69.3512 secs. + Slowest: 0.0966 secs. + Fastest: 0.0026 secs. + Average: 0.0169 secs. + Requests/sec: 3779.9491 + Total Data Received: 1048576 bytes. + Response Size per Request: 4 bytes. + +Status code distribution: + [200] 262144 responses + +Response time histogram: + 0.003 [1] | + 0.012 [66586] |∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎ + 0.021 [146064] |∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎ + 0.031 [34189] |∎∎∎∎∎∎∎∎∎ + 0.040 [9178] |∎∎ + 0.050 [3682] |∎ + 0.059 [1773] | + 0.068 [464] | + 0.078 [124] | + 0.087 [63] | + 0.097 [20] | + +Latency distribution: + 10% in 0.0095 secs. + 25% in 0.0119 secs. + 50% in 0.0151 secs. + 75% in 0.0195 secs. + 90% in 0.0260 secs. + 95% in 0.0323 secs. + 99% in 0.0489 secs. + +===== GET default test ===== +GOMAXPROCS=4 boom -n 262144 -c 64 http://127.0.0.1:8500/v1/kv/bench +262144 / 262144 Booooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo! 100.00 % + +Summary: + Total: 34.8371 secs. + Slowest: 0.9568 secs. + Fastest: 0.0014 secs. + Average: 0.0085 secs. + Requests/sec: 7524.8570 + Total Data Received: 36175872 bytes. + Response Size per Request: 138 bytes. + +Status code distribution: + [200] 262144 responses + +Response time histogram: + 0.001 [1] | + 0.097 [261977] |∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎ + 0.192 [38] | + 0.288 [64] | + 0.384 [0] | + 0.479 [0] | + 0.575 [0] | + 0.670 [0] | + 0.766 [0] | + 0.861 [38] | + 0.957 [26] | + +Latency distribution: + 10% in 0.0044 secs. + 25% in 0.0055 secs. + 50% in 0.0072 secs. + 75% in 0.0098 secs. + 90% in 0.0130 secs. + 95% in 0.0157 secs. + 99% in 0.0228 secs. + +===== GET stale test ===== +GOMAXPROCS=4 boom -n 262144 -c 64 http://127.0.0.1:8500/v1/kv/bench?stale +262144 / 262144 Booooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo! 100.00 % + +Summary: + Total: 26.8200 secs. + Slowest: 0.0838 secs. + Fastest: 0.0005 secs. + Average: 0.0065 secs. + Requests/sec: 9774.1922 + Total Data Received: 36175872 bytes. + Response Size per Request: 138 bytes. + +Status code distribution: + [200] 262144 responses + +Response time histogram: + 0.001 [1] | + 0.009 [214210] |∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎ + 0.017 [42999] |∎∎∎∎∎∎∎∎ + 0.026 [3709] | + 0.034 [589] | + 0.042 [313] | + 0.050 [166] | + 0.059 [102] | + 0.067 [42] | + 0.075 [11] | + 0.084 [2] | + +Latency distribution: + 10% in 0.0031 secs. + 25% in 0.0041 secs. + 50% in 0.0056 secs. + 75% in 0.0079 secs. + 90% in 0.0109 secs. + 95% in 0.0134 secs. + 99% in 0.0203 secs. + +===== GET consistent test ===== +GOMAXPROCS=4 boom -n 262144 -c 64 http://127.0.0.1:8500/v1/kv/bench?consistent +262144 / 262144 Booooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo! 100.00 % + +Summary: + Total: 35.6962 secs. + Slowest: 0.0826 secs. + Fastest: 0.0016 secs. + Average: 0.0087 secs. + Requests/sec: 7343.7475 + Total Data Received: 36175872 bytes. + Response Size per Request: 138 bytes. + +Status code distribution: + [200] 262144 responses + +Response time histogram: + 0.002 [1] | + 0.010 [183123] |∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎ + 0.018 [70460] |∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎ + 0.026 [6955] |∎ + 0.034 [657] | + 0.042 [391] | + 0.050 [229] | + 0.058 [120] | + 0.066 [121] | + 0.074 [68] | + 0.083 [19] | + +Latency distribution: + 10% in 0.0047 secs. + 25% in 0.0059 secs. + 50% in 0.0077 secs. + 75% in 0.0104 secs. + 90% in 0.0137 secs. + 95% in 0.0162 secs. + 99% in 0.0227 secs. +``` + +# Profile + +In order to probe performance a bit, we ran the get-stale benchmark on the +leader itself and collected pprof data. Here's the output of the benchmark: + +``` +===== GET stale test ===== +GOMAXPROCS=4 boom -n 262144 -c 64 http://127.0.0.1:8500/v1/kv/bench?stale +262144 / 262144 Booooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo! 100.00 % + +Summary: + Total: 16.3139 secs. + Slowest: 0.0815 secs. + Fastest: 0.0001 secs. + Average: 0.0040 secs. + Requests/sec: 16068.7946 + Total Data Received: 36175872 bytes. + Response Size per Request: 138 bytes. + +Status code distribution: + [200] 262144 responses + +Response time histogram: + 0.000 [1] | + 0.008 [240221] |∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎ + 0.016 [18761] |∎∎∎ + 0.025 [1937] | + 0.033 [496] | + 0.041 [293] | + 0.049 [131] | + 0.057 [162] | + 0.065 [127] | + 0.073 [10] | + 0.081 [5] | + +Latency distribution: + 10% in 0.0013 secs. + 25% in 0.0019 secs. + 50% in 0.0030 secs. + 75% in 0.0046 secs. + 90% in 0.0074 secs. + 95% in 0.0109 secs. + 99% in 0.0174 secs. +``` + +And here's the [resulting flame graph](results-0.7.1.svg). diff --git a/bench/results-0.7.1.svg b/bench/results-0.7.1.svg new file mode 100644 index 0000000000..bf2478cae8 --- /dev/null +++ b/bench/results-0.7.1.svg @@ -0,0 +1,8395 @@ + + + + + + + + + + + + + +Flame Graph + +Reset Zoom +Search + + +github.com/hashicorp/consul/command/agent.setMeta (62 samples, 2.61%) +gi.. + + +runtime.systemstack (2 samples, 0.08%) + + + +runtime.slicebytetostring (2 samples, 0.08%) + + + +runtime.gosweepone (21 samples, 0.89%) + + + +runtime.casgstatus (3 samples, 0.13%) + + + +runtime.memclr (1 samples, 0.04%) + + + +runtime.heapBitsForObject (1 samples, 0.04%) + + + +github.com/hashicorp/consul/command/agent.(*HTTPServer).parse (97 samples, 4.09%) +gith.. + + +sync.(*RWMutex).RUnlock (1 samples, 0.04%) + + + +runtime.gcmarkwb_m (1 samples, 0.04%) + + + +runtime.memeqbody (1 samples, 0.04%) + + + +runtime.mapassign1 (27 samples, 1.14%) + + + +runtime.newobject (6 samples, 0.25%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +net/url.QueryUnescape (1 samples, 0.04%) + + + +runtime.growslice (3 samples, 0.13%) + + + +runtime/internal/atomic.Store (1 samples, 0.04%) + + + +runtime.scanobject (1 samples, 0.04%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +runtime.(*mcache).nextFree.func1 (2 samples, 0.08%) + + + +encoding/json.isEmptyValue (2 samples, 0.08%) + + + +github.com/hashicorp/consul/command/agent.parseConsistency (18 samples, 0.76%) + + + +net/textproto.trim (2 samples, 0.08%) + + + +runtime.systemstack (4 samples, 0.17%) + + + +runtime/internal/atomic.Or8 (1 samples, 0.04%) + + + +runtime.writebarrierptr_nostore1 (1 samples, 0.04%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +runtime.gcAssistAlloc (48 samples, 2.02%) +r.. + + +runtime.markroot (10 samples, 0.42%) + + + +github.com/hashicorp/consul/vendor/github.com/armon/go-metrics.(*Metrics).MeasureSince (2 samples, 0.08%) + + + +runtime.typedmemmove (1 samples, 0.04%) + + + +runtime.mallocgc (8 samples, 0.34%) + + + +runtime.(*mcache).nextFree (6 samples, 0.25%) + + + +runtime.injectglist (7 samples, 0.30%) + + + +runtime.newobject (5 samples, 0.21%) + + + +runtime.stringtoslicebyte (4 samples, 0.17%) + + + +runtime.systemstack (2 samples, 0.08%) + + + +runtime.mapdelete (2 samples, 0.08%) + + + +sync.(*Pool).pin (3 samples, 0.13%) + + + +runtime.gcAssistAlloc.func1 (2 samples, 0.08%) + + + +runtime.casgstatus (1 samples, 0.04%) + + + +sync.(*RWMutex).Unlock (4 samples, 0.17%) + + + +runtime.newarray (4 samples, 0.17%) + + + +runtime.mapaccess2_faststr (1 samples, 0.04%) + + + +runtime.updatememstats (1 samples, 0.04%) + + + +runtime.mapassign1 (5 samples, 0.21%) + + + +github.com/hashicorp/consul/command/agent.parseWait (22 samples, 0.93%) + + + +runtime.(*mspan).refillAllocCache (1 samples, 0.04%) + + + +net/http.HandlerFunc.ServeHTTP (1,071 samples, 45.15%) +net/http.HandlerFunc.ServeHTTP + + +runtime.(*mcache).nextFree (1 samples, 0.04%) + + + +runtime.gcDrain (2 samples, 0.08%) + + + +sync.(*RWMutex).RLock (1 samples, 0.04%) + + + +syscall.write (2 samples, 0.08%) + + + +runtime.writebarrierptr (10 samples, 0.42%) + + + +runtime.heapBitsSetType (1 samples, 0.04%) + + + +reflect.typedmemmove (1 samples, 0.04%) + + + +net/rpc.(*Server).readRequestHeader (29 samples, 1.22%) + + + +sync/atomic.AddUint32 (2 samples, 0.08%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +runtime.mallocgc (12 samples, 0.51%) + + + +context.WithCancel (26 samples, 1.10%) + + + +net/textproto.(*Reader).readLineSlice (5 samples, 0.21%) + + + +runtime.typedmemmove (1 samples, 0.04%) + + + +runtime.newstack (11 samples, 0.46%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +runtime.(*mcache).nextFree (4 samples, 0.17%) + + + +runtime.shade (1 samples, 0.04%) + + + +syscall.Syscall (2 samples, 0.08%) + + + +net/url.unescape (1 samples, 0.04%) + + + +runtime.pcvalue (1 samples, 0.04%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/raft.(*netPipeline).AppendEntries (2 samples, 0.08%) + + + +github.com/hashicorp/consul/consul.(*inmemCodec).WriteResponse (8 samples, 0.34%) + + + +github.com/hashicorp/consul/vendor/github.com/miekg/dns.(*Server).readUDP (1 samples, 0.04%) + + + +net.(*pollDesc).prepareWrite (2 samples, 0.08%) + + + +runtime.gcmarkwb_m (1 samples, 0.04%) + + + +runtime.memeqbody (3 samples, 0.13%) + + + +runtime.(*mSpanList).remove (1 samples, 0.04%) + + + +reflect.(*rtype).common (2 samples, 0.08%) + + + +runtime.futexsleep (5 samples, 0.21%) + + + +runtime.concatstrings (2 samples, 0.08%) + + + +net/http.(*response).Write (51 samples, 2.15%) +n.. + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/logutils.(*LevelFilter).Check (8 samples, 0.34%) + + + +time.Time.Truncate (2 samples, 0.08%) + + + +runtime.writebarrierptr_nostore1.func1 (1 samples, 0.04%) + + + +runtime.(*mcache).nextFree (1 samples, 0.04%) + + + +runtime.shade (1 samples, 0.04%) + + + +runtime.gcAssistAlloc.func1 (1 samples, 0.04%) + + + +runtime.(*mcache).refill (4 samples, 0.17%) + + + +runtime.writebarrierptr_nostore1.func1 (1 samples, 0.04%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +runtime.unlock (1 samples, 0.04%) + + + +runtime.gcBgMarkWorker (156 samples, 6.58%) +runtime... + + +runtime.deferproc.func1 (1 samples, 0.04%) + + + +runtime.mallocgc (4 samples, 0.17%) + + + +net/url.unescape (3 samples, 0.13%) + + + +runtime.mProf_Malloc (1 samples, 0.04%) + + + +runtime.rawstring (9 samples, 0.38%) + + + +runtime.gcAssistAlloc.func1 (1 samples, 0.04%) + + + +bufio.(*Reader).Peek (2 samples, 0.08%) + + + +runtime.growslice (9 samples, 0.38%) + + + +runtime.gcAssistAlloc (3 samples, 0.13%) + + + +runtime.growslice (1 samples, 0.04%) + + + +runtime._System (99 samples, 4.17%) +runt.. + + +runtime.systemstack (2 samples, 0.08%) + + + +runtime.gcAssistAlloc (1 samples, 0.04%) + + + +runtime.flushallmcaches (2 samples, 0.08%) + + + +net/url.(*URL).Query (16 samples, 0.67%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +runtime.newobject (2 samples, 0.08%) + + + +runtime.shade (1 samples, 0.04%) + + + +runtime.freedefer (1 samples, 0.04%) + + + +runtime.(*mspan).sweep (1 samples, 0.04%) + + + +net.(*UDPConn).writeTo (1 samples, 0.04%) + + + +runtime.gcmarkwb_m (1 samples, 0.04%) + + + +strings.Replace (3 samples, 0.13%) + + + +runtime.typedmemmove (2 samples, 0.08%) + + + +runtime.typedmemmove (11 samples, 0.46%) + + + +runtime.pcvalue (1 samples, 0.04%) + + + +runtime.writebarrierptr_nostore1.func1 (1 samples, 0.04%) + + + +runtime.scanobject (1 samples, 0.04%) + + + +runtime.mallocgc (3 samples, 0.13%) + + + +sync/atomic.AddUint32 (3 samples, 0.13%) + + + +runtime.(*mheap).reclaim (1 samples, 0.04%) + + + +runtime.lock (1 samples, 0.04%) + + + +net/http.(*response).bodyAllowed (1 samples, 0.04%) + + + +runtime.freedefer (1 samples, 0.04%) + + + +runtime.mallocgc (1 samples, 0.04%) + + + +sync.runtime_procPin (1 samples, 0.04%) + + + +runtime.memclr (1 samples, 0.04%) + + + +context.propagateCancel (10 samples, 0.42%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/go-msgpack/codec.(*Decoder).decode (1 samples, 0.04%) + + + +runtime.mapassign1 (15 samples, 0.63%) + + + +time.fmtInt (1 samples, 0.04%) + + + +runtime.rawstring (3 samples, 0.13%) + + + +runtime.(*mcache).nextFree.func1 (1 samples, 0.04%) + + + +runtime.gcAssistAlloc.func1 (5 samples, 0.21%) + + + +net/url.(*URL).Query (20 samples, 0.84%) + + + +net/http.(*conn).hijacked (12 samples, 0.51%) + + + +runtime.pcvalue (1 samples, 0.04%) + + + +runtime.futex (1 samples, 0.04%) + + + +net/http.(*response).write (48 samples, 2.02%) +n.. + + +github.com/hashicorp/consul/command/agent.(*Agent).RPC (347 samples, 14.63%) +github.com/hashicorp/c.. + + +sync/atomic.CompareAndSwapUint32 (1 samples, 0.04%) + + + +runtime.memmove (1 samples, 0.04%) + + + +github.com/hashicorp/consul/vendor/github.com/armon/go-metrics.(*Metrics).IncrCounter (45 samples, 1.90%) +g.. + + +runtime.aeshashbody (2 samples, 0.08%) + + + +runtime.newobject (3 samples, 0.13%) + + + +runtime.mallocgc (10 samples, 0.42%) + + + +runtime.slicebytetostring (2 samples, 0.08%) + + + +runtime.mapiterinit (3 samples, 0.13%) + + + +runtime.memhash128 (2 samples, 0.08%) + + + +runtime.interequal (3 samples, 0.13%) + + + +runtime.mallocgc (2 samples, 0.08%) + + + +runtime.mallocgc (4 samples, 0.17%) + + + +net/textproto.CanonicalMIMEHeaderKey (2 samples, 0.08%) + + + +net/url.ParseQuery (22 samples, 0.93%) + + + +runtime.mallocgc (1 samples, 0.04%) + + + +runtime.newobject (4 samples, 0.17%) + + + +runtime.typedmemmove (2 samples, 0.08%) + + + +net/http.(*chunkWriter).Write (90 samples, 3.79%) +net/.. + + +runtime.readmemstats_m (1 samples, 0.04%) + + + +runtime.freedefer (1 samples, 0.04%) + + + +runtime.(*mspan).nextFreeIndex (1 samples, 0.04%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/raft.(*raftState).goFunc.func1 (2 samples, 0.08%) + + + +runtime.stringiter2 (5 samples, 0.21%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +fmt.(*pp).doPrintf (32 samples, 1.35%) + + + +runtime.rawstring (56 samples, 2.36%) +r.. + + +time.Now (1 samples, 0.04%) + + + +runtime.slicebytetostring (7 samples, 0.30%) + + + +runtime.(*mheap).alloc_m (1 samples, 0.04%) + + + +net/textproto.MIMEHeader.Set (8 samples, 0.34%) + + + +runtime.(*mcentral).grow (4 samples, 0.17%) + + + +net.(*pollDesc).wait (6 samples, 0.25%) + + + +runtime.rawstringtmp (5 samples, 0.21%) + + + +net/http.(*ServeMux).handler (108 samples, 4.55%) +net/h.. + + +runtime.gcMarkTermination.func1 (1 samples, 0.04%) + + + +reflect.directlyAssignable (3 samples, 0.13%) + + + +net/url.QueryUnescape (2 samples, 0.08%) + + + +runtime.(*mcache).nextFree.func1 (3 samples, 0.13%) + + + +net/http.(*transferReader).fixTransferEncoding (4 samples, 0.17%) + + + +net/http.readRequest (333 samples, 14.04%) +net/http.readRequest + + +runtime.gcAssistAlloc.func1 (1 samples, 0.04%) + + + +runtime.deferreturn.func1 (2 samples, 0.08%) + + + +fmt.glob..func1 (3 samples, 0.13%) + + + +runtime.systemstack (71 samples, 2.99%) +ru.. + + +runtime.gosweepone.func1 (1 samples, 0.04%) + + + +syscall.Write (208 samples, 8.77%) +syscall.Write + + +runtime.handoff (1 samples, 0.04%) + + + +runtime.makeslice (11 samples, 0.46%) + + + +net/url.(*URL).Query (37 samples, 1.56%) + + + +sync.(*Mutex).Unlock (1 samples, 0.04%) + + + +runtime.growslice (8 samples, 0.34%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +runtime.memmove (1 samples, 0.04%) + + + +runtime.(*mcache).refill (1 samples, 0.04%) + + + +bufio.(*Reader).ReadLine (93 samples, 3.92%) +bufi.. + + +runtime.deferreturn (2 samples, 0.08%) + + + +runtime.gopreempt_m (7 samples, 0.30%) + + + +runtime.mapaccess2_faststr (1 samples, 0.04%) + + + +runtime.scanblock (1 samples, 0.04%) + + + +runtime.deferproc (1 samples, 0.04%) + + + +runtime.scanframeworker (1 samples, 0.04%) + + + +runtime.(*mcache).nextFree.func1 (4 samples, 0.17%) + + + +runtime.gcMarkDone (1 samples, 0.04%) + + + +runtime.memmove (1 samples, 0.04%) + + + +runtime.(*mcentral).grow (1 samples, 0.04%) + + + +runtime.heapBitsBulkBarrier (1 samples, 0.04%) + + + +runtime.makechan (7 samples, 0.30%) + + + +runtime.newarray (7 samples, 0.30%) + + + +runtime.mapaccess2_faststr (6 samples, 0.25%) + + + +runtime.assertI2T2 (2 samples, 0.08%) + + + +runtime.gcMarkTermination (1 samples, 0.04%) + + + +strconv.AppendUint (2 samples, 0.08%) + + + +runtime.morestack (11 samples, 0.46%) + + + +runtime.mallocgc (3 samples, 0.13%) + + + +runtime.gcDrainN (1 samples, 0.04%) + + + +runtime.systemstack (46 samples, 1.94%) +r.. + + +runtime.stopm (3 samples, 0.13%) + + + +runtime.markroot.func1 (71 samples, 2.99%) +ru.. + + +runtime.gcMark (1 samples, 0.04%) + + + +context.(*cancelCtx).Done (3 samples, 0.13%) + + + +net.(*conn).Read (87 samples, 3.67%) +net... + + +runtime.deferreturn.func1 (1 samples, 0.04%) + + + +encoding/json.(*encodeState).reflectValue (83 samples, 3.50%) +enc.. + + +runtime.systemstack (2 samples, 0.08%) + + + +io/ioutil.(*nopCloser).Close (1 samples, 0.04%) + + + +runtime.writebarrierptr_nostore1 (1 samples, 0.04%) + + + +runtime.(*gcWork).balance (1 samples, 0.04%) + + + +net/url.parse (29 samples, 1.22%) + + + +runtime/internal/atomic.Or8 (1 samples, 0.04%) + + + +bufio.(*Writer).Write (3 samples, 0.13%) + + + +runtime.deferreturn (3 samples, 0.13%) + + + +runtime.mallocgc (3 samples, 0.13%) + + + +time.div (1 samples, 0.04%) + + + +runtime.(*_type).typeOff (5 samples, 0.21%) + + + +runtime.heapBitsBulkBarrier (1 samples, 0.04%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/memberlist.(*Memberlist).(github.com/hashicorp/consul/vendor/github.com/hashicorp/memberlist.probe)-fm (1 samples, 0.04%) + + + +runtime.makemap (7 samples, 0.30%) + + + +runtime.deferproc (1 samples, 0.04%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/raft.(*Raft).startStopReplication.func1 (2 samples, 0.08%) + + + +runtime.startm (1 samples, 0.04%) + + + +runtime.scanblock (15 samples, 0.63%) + + + +runtime.gcAssistAlloc.func1 (3 samples, 0.13%) + + + +runtime.gentraceback (1 samples, 0.04%) + + + +encoding/json.(*arrayEncoder).encode (64 samples, 2.70%) +en.. + + +runtime.deferreturn.func1 (1 samples, 0.04%) + + + +runtime.scanobject (1 samples, 0.04%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/memberlist.(*Memberlist).mergeRemoteState (1 samples, 0.04%) + + + +runtime.scanobject (3 samples, 0.13%) + + + +runtime.(*mcache).nextFree (4 samples, 0.17%) + + + +time.now (2 samples, 0.08%) + + + +runtime.rawstringtmp (1 samples, 0.04%) + + + +runtime.memclr (1 samples, 0.04%) + + + +runtime.retake (1 samples, 0.04%) + + + +reflect.Value.Interface (1 samples, 0.04%) + + + +time.div (2 samples, 0.08%) + + + +sync.(*RWMutex).RUnlock (2 samples, 0.08%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +time.now (1 samples, 0.04%) + + + +runtime.writebarrierptr (1 samples, 0.04%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/memberlist.(*Memberlist).probe (1 samples, 0.04%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +runtime.mallocgc (7 samples, 0.30%) + + + +runtime/internal/atomic.Or8 (2 samples, 0.08%) + + + +runtime.mallocgc (5 samples, 0.21%) + + + +runtime.systemstack (2 samples, 0.08%) + + + +runtime.newobject (3 samples, 0.13%) + + + +runtime.futex (6 samples, 0.25%) + + + +runtime.mallocgc (7 samples, 0.30%) + + + +runtime.closechan (2 samples, 0.08%) + + + +runtime.tracebackdefers (1 samples, 0.04%) + + + +runtime.stackcache_clear (1 samples, 0.04%) + + + +runtime.gcUnlockStackBarriers (1 samples, 0.04%) + + + +runtime.gcDrainN (2 samples, 0.08%) + + + +runtime.writebarrierptr (1 samples, 0.04%) + + + +net.runtime_pollWait (6 samples, 0.25%) + + + +runtime.memclr (1 samples, 0.04%) + + + +runtime.convT2E (16 samples, 0.67%) + + + +reflect.(*rtype).typeOff (5 samples, 0.21%) + + + +runtime.writebarrierptr_nostore1.func1 (1 samples, 0.04%) + + + +runtime.stringiter2 (3 samples, 0.13%) + + + +syscall.Write (2 samples, 0.08%) + + + +sync.(*Pool).Get (4 samples, 0.17%) + + + +runtime.gcAssistAlloc.func1 (3 samples, 0.13%) + + + +runtime.casgstatus (4 samples, 0.17%) + + + +runtime.send (1 samples, 0.04%) + + + +runtime.mapiternext (4 samples, 0.17%) + + + +runtime.(*mcache).refill (2 samples, 0.08%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +runtime.scanobject (1 samples, 0.04%) + + + +runtime.(*mspan).nextFreeIndex (1 samples, 0.04%) + + + +runtime.mallocgc (5 samples, 0.21%) + + + +runtime.heapBitsSetType (2 samples, 0.08%) + + + +runtime.mapaccess1_faststr (2 samples, 0.08%) + + + +bufio.(*Reader).ReadSlice (3 samples, 0.13%) + + + +strconv.formatBits (5 samples, 0.21%) + + + +runtime.heapBitsSetType (1 samples, 0.04%) + + + +runtime.heapBitsSetType (2 samples, 0.08%) + + + +runtime.getcallersp (1 samples, 0.04%) + + + +runtime.assertE2I2 (4 samples, 0.17%) + + + +runtime.mapiternext (57 samples, 2.40%) +ru.. + + +runtime.mallocgc (5 samples, 0.21%) + + + +runtime/internal/atomic.Xchg (1 samples, 0.04%) + + + +runtime.newobject (1 samples, 0.04%) + + + +runtime.typedmemmove (2 samples, 0.08%) + + + +runtime.getcallerpc (1 samples, 0.04%) + + + +runtime.typedslicecopy (2 samples, 0.08%) + + + +runtime.newdefer (2 samples, 0.08%) + + + +runtime.typedmemmove (1 samples, 0.04%) + + + +encoding/json.(*sliceEncoder).(encoding/json.encode)-fm (69 samples, 2.91%) +en.. + + +runtime.systemstack (1 samples, 0.04%) + + + +runtime.gcDrainN (1 samples, 0.04%) + + + +runtime.mstart (10 samples, 0.42%) + + + +runtime.gosweepone.func1 (20 samples, 0.84%) + + + +runtime.scanobject (2 samples, 0.08%) + + + +runtime.shade (1 samples, 0.04%) + + + +runtime.scanobject (1 samples, 0.04%) + + + +runtime.sysmon (10 samples, 0.42%) + + + +runtime.(*mcentral).cacheSpan (2 samples, 0.08%) + + + +strings.Replace (4 samples, 0.17%) + + + +bufio.(*Reader).ReadLine (4 samples, 0.17%) + + + +runtime.concatstrings (6 samples, 0.25%) + + + +runtime.heapBitsSetType (1 samples, 0.04%) + + + +runtime.futex (1 samples, 0.04%) + + + +runtime.(*mcentral).grow (3 samples, 0.13%) + + + +runtime.greyobject (1 samples, 0.04%) + + + +runtime.newarray (8 samples, 0.34%) + + + +runtime.deferproc.func1 (3 samples, 0.13%) + + + +runtime.makemap (2 samples, 0.08%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +reflect.Value.Type (2 samples, 0.08%) + + + +runtime.gcAssistAlloc (1 samples, 0.04%) + + + +runtime.(*mheap).reclaim (1 samples, 0.04%) + + + +runtime.unlock (1 samples, 0.04%) + + + +runtime.systemstack (6 samples, 0.25%) + + + +runtime.pcvalue (1 samples, 0.04%) + + + +runtime.aeshashbody (2 samples, 0.08%) + + + +syscall.Syscall6 (1 samples, 0.04%) + + + +runtime.notewakeup (1 samples, 0.04%) + + + +net/url.escape (3 samples, 0.13%) + + + +net.(*netFD).Read (86 samples, 3.63%) +net... + + +runtime.scanstack.func1 (1 samples, 0.04%) + + + +runtime.(*mheap).alloc_m (1 samples, 0.04%) + + + +runtime.mallocgc (2 samples, 0.08%) + + + +runtime.heapBitsSetType (2 samples, 0.08%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/go-memdb.(*Txn).First (18 samples, 0.76%) + + + +runtime.heapBitsSetType (1 samples, 0.04%) + + + +sync.(*Pool).pin (4 samples, 0.17%) + + + +runtime.runqput (2 samples, 0.08%) + + + +runtime/internal/atomic.Or8 (1 samples, 0.04%) + + + +runtime.startm (1 samples, 0.04%) + + + +runtime.(*mcentral).cacheSpan (1 samples, 0.04%) + + + +runtime/internal/atomic.Xchg (2 samples, 0.08%) + + + +runtime.(*mcache).nextFree.func1 (1 samples, 0.04%) + + + +runtime.rawstringtmp (1 samples, 0.04%) + + + +runtime.duffcopy (1 samples, 0.04%) + + + +runtime.gentraceback (61 samples, 2.57%) +ru.. + + +bufio.(*Reader).ReadByte (2 samples, 0.08%) + + + +runtime.systemstack (2 samples, 0.08%) + + + +runtime.gcAssistAlloc.func1 (2 samples, 0.08%) + + + +syscall.sendto (1 samples, 0.04%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/go-memdb.(*Txn).First (73 samples, 3.08%) +git.. + + +sync.(*RWMutex).RUnlock (1 samples, 0.04%) + + + +runtime.gcDrainN (1 samples, 0.04%) + + + +runtime.gcTryRemoveAllStackBarriers (1 samples, 0.04%) + + + +runtime.fastrand1 (2 samples, 0.08%) + + + +runtime.newMarkBits (2 samples, 0.08%) + + + +runtime.callers (1 samples, 0.04%) + + + +runtime.checkdead (1 samples, 0.04%) + + + +syscall.Read (61 samples, 2.57%) +sy.. + + +runtime.deferproc (1 samples, 0.04%) + + + +runtime/internal/atomic.Xadd64 (1 samples, 0.04%) + + + +encoding/json.(*arrayEncoder).(encoding/json.encode)-fm (64 samples, 2.70%) +en.. + + +runtime.typedmemmove (2 samples, 0.08%) + + + +runtime.futex (1 samples, 0.04%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +runtime.scanstack (1 samples, 0.04%) + + + +reflect.typedmemmove (2 samples, 0.08%) + + + +runtime.reentersyscall (4 samples, 0.17%) + + + +runtime.findrunnable (50 samples, 2.11%) +r.. + + +runtime.shade (1 samples, 0.04%) + + + +runtime.memmove (1 samples, 0.04%) + + + +net/url.QueryUnescape (3 samples, 0.13%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/go-msgpack/codec.(*Decoder).Decode (1 samples, 0.04%) + + + +runtime.newobject (3 samples, 0.13%) + + + +runtime.gcAssistAlloc (1 samples, 0.04%) + + + +net/http.(*conn).hijacked (2 samples, 0.08%) + + + +runtime.futexwakeup (1 samples, 0.04%) + + + +runtime.gcmarkwb_m (1 samples, 0.04%) + + + +runtime.slicebytetostring (6 samples, 0.25%) + + + +runtime.gentraceback (1 samples, 0.04%) + + + +net/http.(*response).WriteHeader (42 samples, 1.77%) + + + +runtime.mallocgc (3 samples, 0.13%) + + + +runtime.gcAssistAlloc (2 samples, 0.08%) + + + +runtime.(*mspan).sweep (1 samples, 0.04%) + + + +runtime.deductSweepCredit (1 samples, 0.04%) + + + +runtime.memclr (1 samples, 0.04%) + + + +runtime.futex (5 samples, 0.21%) + + + +runtime.(*mcache).nextFree (1 samples, 0.04%) + + + +runtime.markroot (1 samples, 0.04%) + + + +runtime.newobject (2 samples, 0.08%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +runtime/internal/atomic.Store (1 samples, 0.04%) + + + +net.(*conn).Read (2 samples, 0.08%) + + + +runtime.gcDrain (2 samples, 0.08%) + + + +runtime.newobject (1 samples, 0.04%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/memberlist.(*Memberlist).rawSendMsgUDP (1 samples, 0.04%) + + + +runtime.deferreturn (7 samples, 0.30%) + + + +runtime.goschedImpl (6 samples, 0.25%) + + + +runtime.(*gcWork).init (1 samples, 0.04%) + + + +runtime.(*mspan).sweep (1 samples, 0.04%) + + + +runtime.scanstack.func1 (1 samples, 0.04%) + + + +runtime.lock (1 samples, 0.04%) + + + +runtime.scanstack (2 samples, 0.08%) + + + +runtime.procyield (1 samples, 0.04%) + + + +runtime.memmove (1 samples, 0.04%) + + + +runtime.step (1 samples, 0.04%) + + + +runtime.stringiter2 (1 samples, 0.04%) + + + +runtime.deferreturn (1 samples, 0.04%) + + + +runtime.(*mcentral).uncacheSpan (1 samples, 0.04%) + + + +runtime.mallocgc (7 samples, 0.30%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/go-immutable-radix.(*Node).Get (4 samples, 0.17%) + + + +sync.(*RWMutex).RUnlock (1 samples, 0.04%) + + + +runtime.rawstringtmp (56 samples, 2.36%) +r.. + + +sync.(*RWMutex).RLock (4 samples, 0.17%) + + + +runtime.funcspdelta (1 samples, 0.04%) + + + +fmt.(*fmt).fmt_s (3 samples, 0.13%) + + + +runtime.heapBitsForObject (1 samples, 0.04%) + + + +runtime.casgstatus (3 samples, 0.13%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +github.com/hashicorp/consul/consul.(*KVS).Get (199 samples, 8.39%) +github.com/.. + + +runtime.newobject (1 samples, 0.04%) + + + +runtime.newobject (1 samples, 0.04%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/go-msgpack/codec.(*Decoder).decodeValue (1 samples, 0.04%) + + + +encoding/json.(*ptrEncoder).(encoding/json.encode)-fm (59 samples, 2.49%) +en.. + + +runtime.mProf_GC (2 samples, 0.08%) + + + +runtime.futexsleep (1 samples, 0.04%) + + + +runtime.newarray (4 samples, 0.17%) + + + +github.com/hashicorp/consul/consul/state.(*StateStore).kvsGetTxn (110 samples, 4.64%) +githu.. + + +runtime.writebarrierptr_nostore1 (1 samples, 0.04%) + + + +runtime.adjustframe (2 samples, 0.08%) + + + +runtime.gcDrainN (3 samples, 0.13%) + + + +runtime.lock (1 samples, 0.04%) + + + +runtime.newarray (7 samples, 0.30%) + + + +sync.(*Pool).pin (2 samples, 0.08%) + + + +sync.(*Pool).Get (8 samples, 0.34%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/go-immutable-radix.(*Txn).Get (4 samples, 0.17%) + + + +runtime.unlock (1 samples, 0.04%) + + + +runtime.aeshashbody (1 samples, 0.04%) + + + +runtime.(*mcache).nextFree (1 samples, 0.04%) + + + +runtime.casgstatus (1 samples, 0.04%) + + + +runtime.lock (1 samples, 0.04%) + + + +runtime.growslice (12 samples, 0.51%) + + + +runtime.(*mcache).nextFree (1 samples, 0.04%) + + + +runtime.writebarrierptr_nostore1.func1 (1 samples, 0.04%) + + + +runtime.(*mspan).sweep (1 samples, 0.04%) + + + +runtime.newobject (3 samples, 0.13%) + + + +runtime.gcmarkwb_m (1 samples, 0.04%) + + + +reflect.Value.Bytes (5 samples, 0.21%) + + + +time.Time.date (2 samples, 0.08%) + + + +runtime.lock (1 samples, 0.04%) + + + +net.(*netFD).readUnlock (2 samples, 0.08%) + + + +runtime.growslice (4 samples, 0.17%) + + + +runtime.gcstopm (3 samples, 0.13%) + + + +runtime.scanobject (1 samples, 0.04%) + + + +runtime.gcmarkwb_m (1 samples, 0.04%) + + + +runtime.scanframeworker (1 samples, 0.04%) + + + +runtime.memmove (1 samples, 0.04%) + + + +runtime.scanobject (1 samples, 0.04%) + + + +runtime.sweepone (1 samples, 0.04%) + + + +runtime.gchelper (1 samples, 0.04%) + + + +bytes.Equal (1 samples, 0.04%) + + + +reflect.packEface (1 samples, 0.04%) + + + +runtime.mapaccess1_faststr (6 samples, 0.25%) + + + +runtime.scanobject (2 samples, 0.08%) + + + +runtime/internal/atomic.Cas (1 samples, 0.04%) + + + +runtime.systemstack (2 samples, 0.08%) + + + +runtime.slicebytetostring (2 samples, 0.08%) + + + +runtime.greyobject (1 samples, 0.04%) + + + +runtime.gcAssistAlloc.func1 (1 samples, 0.04%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/memberlist.(*Memberlist).sendMsg (1 samples, 0.04%) + + + +runtime/internal/atomic.Xchg (1 samples, 0.04%) + + + +runtime.(*mspan).nextFreeIndex (1 samples, 0.04%) + + + +runtime.mapaccess1_faststr (1 samples, 0.04%) + + + +runtime.mapiternext (3 samples, 0.13%) + + + +runtime.heapBitsForObject (1 samples, 0.04%) + + + +runtime.mallocgc (3 samples, 0.13%) + + + +net.(*TCPConn).Write (1 samples, 0.04%) + + + +time.Duration.String (6 samples, 0.25%) + + + +runtime.slicebytetostring (11 samples, 0.46%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/memberlist.(*Memberlist).handleConn (1 samples, 0.04%) + + + +github.com/hashicorp/consul/consul.(*Server).RPC (346 samples, 14.59%) +github.com/hashicorp/c.. + + +runtime/internal/atomic.Cas64 (1 samples, 0.04%) + + + +runtime.lock (1 samples, 0.04%) + + + +github.com/hashicorp/consul/consul.(*KVS).Get.func1 (135 samples, 5.69%) +github... + + +runtime.gcDrainN (2 samples, 0.08%) + + + +runtime.(*mcache).nextFree (2 samples, 0.08%) + + + +runtime.writebarrierptr (1 samples, 0.04%) + + + +net/http.Header.WriteSubset (45 samples, 1.90%) +n.. + + +runtime.systemstack (1 samples, 0.04%) + + + +runtime.mallocgc (3 samples, 0.13%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/serf/serf.(*delegate).MergeRemoteState (1 samples, 0.04%) + + + +net/http.Header.clone (40 samples, 1.69%) + + + +runtime.(*mcache).nextFree (1 samples, 0.04%) + + + +runtime.writebarrierptr_nostore1.func1 (6 samples, 0.25%) + + + +net/http.newTextprotoReader (5 samples, 0.21%) + + + +net/url.(*URL).Query (26 samples, 1.10%) + + + +runtime.mapaccess1_faststr (5 samples, 0.21%) + + + +encoding/json.fieldByIndex (7 samples, 0.30%) + + + +runtime.newobject (1 samples, 0.04%) + + + +runtime.scanobject (2 samples, 0.08%) + + + +sync/atomic.AddUint32 (1 samples, 0.04%) + + + +runtime.slicebytetostring (3 samples, 0.13%) + + + +net/http.(*response).shouldReuseConnection (1 samples, 0.04%) + + + +encoding/base64.(*Encoding).Encode (4 samples, 0.17%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +runtime.scanstack.func1 (37 samples, 1.56%) + + + +runtime.(*gcWork).balance (1 samples, 0.04%) + + + +runtime.(*mcache).nextFree.func1 (1 samples, 0.04%) + + + +runtime.newMarkBits (2 samples, 0.08%) + + + +runtime.heapBitsForObject (3 samples, 0.13%) + + + +runtime.mallocgc (4 samples, 0.17%) + + + +runtime.rawstring (2 samples, 0.08%) + + + +runtime.netpollinited (1 samples, 0.04%) + + + +reflect.Value.Elem (1 samples, 0.04%) + + + +runtime.gcAssistAlloc (1 samples, 0.04%) + + + +runtime.concatstring2 (8 samples, 0.34%) + + + +runtime.markroot.func1 (8 samples, 0.34%) + + + +sync.runtime_Semacquire (3 samples, 0.13%) + + + +runtime.gcmarkwb_m (1 samples, 0.04%) + + + +runtime.interhash (2 samples, 0.08%) + + + +runtime.gcDrainN (3 samples, 0.13%) + + + +runtime.mapassign1 (5 samples, 0.21%) + + + +runtime.ifaceeq (1 samples, 0.04%) + + + +strings.Count (1 samples, 0.04%) + + + +runtime.notewakeup (1 samples, 0.04%) + + + +runtime.(*mcache).nextFree (1 samples, 0.04%) + + + +runtime.typedmemmove (3 samples, 0.13%) + + + +reflect.Value.assignTo (1 samples, 0.04%) + + + +net/url.parseQuery (31 samples, 1.31%) + + + +runtime.deferproc (2 samples, 0.08%) + + + +runtime.systemstack (6 samples, 0.25%) + + + +runtime.mapassign1 (10 samples, 0.42%) + + + +reflect.(*rtype).Align (2 samples, 0.08%) + + + +runtime.(*gcWork).dispose (1 samples, 0.04%) + + + +bufio.(*Writer).flush (2 samples, 0.08%) + + + +reflect.Value.Len (1 samples, 0.04%) + + + +github.com/hashicorp/consul/command/agent.setHeaders (1 samples, 0.04%) + + + +syscall.read (60 samples, 2.53%) +sy.. + + +net/url.ParseQuery (26 samples, 1.10%) + + + +runtime.writebarrierptr_nostore1.func1 (1 samples, 0.04%) + + + +net/url.(*URL).Query (27 samples, 1.14%) + + + +runtime.futexsleep (1 samples, 0.04%) + + + +reflect.flag.mustBe (1 samples, 0.04%) + + + +reflect.Value.Set (4 samples, 0.17%) + + + +net/rpc.(*Server).getRequest (14 samples, 0.59%) + + + +runtime.scanobject (1 samples, 0.04%) + + + +github.com/hashicorp/consul/consul.(*Server).resolveToken (1 samples, 0.04%) + + + +runtime/internal/atomic.Xchg (1 samples, 0.04%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +runtime.scanobject (3 samples, 0.13%) + + + +github.com/hashicorp/consul/consul.(*Server).blockingRPC (193 samples, 8.14%) +github.com/.. + + +net/http.readTransfer (20 samples, 0.84%) + + + +runtime.mapaccess2_fast64 (3 samples, 0.13%) + + + +runtime.gcAssistAlloc (2 samples, 0.08%) + + + +runtime.deferreturn (1 samples, 0.04%) + + + +runtime.pcdatavalue (1 samples, 0.04%) + + + +runtime.scanobject (1 samples, 0.04%) + + + +runtime.rawstring (2 samples, 0.08%) + + + +strings.IndexAny (3 samples, 0.13%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/go-msgpack/codec.(*ioDecReader).readn1 (2 samples, 0.08%) + + + +runtime.lock (2 samples, 0.08%) + + + +runtime.notewakeup (6 samples, 0.25%) + + + +runtime.(*mheap).alloc.func1 (1 samples, 0.04%) + + + +runtime.mapaccess2_faststr (2 samples, 0.08%) + + + +runtime.memmove (1 samples, 0.04%) + + + +runtime.slicebytetostring (2 samples, 0.08%) + + + +runtime.memclr (2 samples, 0.08%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +runtime.scanobject (1 samples, 0.04%) + + + +runtime.systemstack (2 samples, 0.08%) + + + +runtime.funcdata (1 samples, 0.04%) + + + +runtime.duffzero (1 samples, 0.04%) + + + +runtime.shade (1 samples, 0.04%) + + + +runtime.bgsweep (21 samples, 0.89%) + + + +runtime.mallocgc (1 samples, 0.04%) + + + +runtime.gcDrainN (46 samples, 1.94%) +r.. + + +github.com/hashicorp/consul/command/agent.(*HTTPServer).KVSEndpoint (589 samples, 24.83%) +github.com/hashicorp/consul/command/age.. + + +bufio.(*Writer).flush (324 samples, 13.66%) +bufio.(*Writer).flush + + +runtime.(*mcentral).grow (2 samples, 0.08%) + + + +runtime.heapBitsSetType (1 samples, 0.04%) + + + +runtime.gcmarknewobject (1 samples, 0.04%) + + + +runtime.mapaccess1 (5 samples, 0.21%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/go-immutable-radix.(*Node).getEdge (2 samples, 0.08%) + + + +runtime.netpoll (1 samples, 0.04%) + + + +net/http.(*ServeMux).ServeHTTP (1,189 samples, 50.13%) +net/http.(*ServeMux).ServeHTTP + + +runtime.duffcopy (11 samples, 0.46%) + + + +runtime.greyobject (1 samples, 0.04%) + + + +runtime.step (1 samples, 0.04%) + + + +runtime.mapassign1 (13 samples, 0.55%) + + + +runtime.gcMarkTermination (6 samples, 0.25%) + + + +github.com/hashicorp/consul/vendor/github.com/armon/go-metrics.(*Metrics).collectStats (1 samples, 0.04%) + + + +github.com/hashicorp/consul/command/agent.(*HTTPServer).wrap.func1 (999 samples, 42.12%) +github.com/hashicorp/consul/command/agent.(*HTTPServer).wrap.func1 + + +runtime.heapBitsSetType (1 samples, 0.04%) + + + +runtime.mallocgc (12 samples, 0.51%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/memberlist.(*Memberlist).gossip (3 samples, 0.13%) + + + +runtime.deferreturn.func1 (2 samples, 0.08%) + + + +runtime.mallocgc (1 samples, 0.04%) + + + +runtime.duffzero (1 samples, 0.04%) + + + +runtime.shade (1 samples, 0.04%) + + + +runtime.newobject (1 samples, 0.04%) + + + +runtime.mallocgc (1 samples, 0.04%) + + + +sync.(*Mutex).Lock (3 samples, 0.13%) + + + +runtime.(*mheap).alloc_m (1 samples, 0.04%) + + + +runtime.gcAssistAlloc (2 samples, 0.08%) + + + +runtime.(*mcache).releaseAll (1 samples, 0.04%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +net/http.(*chunkWriter).close (2 samples, 0.08%) + + + +context.removeChild (8 samples, 0.34%) + + + +runtime.fastrand1 (2 samples, 0.08%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/go-memdb.(*Txn).Abort (1 samples, 0.04%) + + + +net/textproto.MIMEHeader.Get (2 samples, 0.08%) + + + +runtime.stopm (3 samples, 0.13%) + + + +runtime.handoffp (1 samples, 0.04%) + + + +runtime.memmove (1 samples, 0.04%) + + + +net.(*conn).Write (2 samples, 0.08%) + + + +net/url.ParseQuery (27 samples, 1.14%) + + + +runtime.mapassign1 (7 samples, 0.30%) + + + +runtime.makemap (4 samples, 0.17%) + + + +runtime.heapBitsSetType (1 samples, 0.04%) + + + +runtime.gchelper (1 samples, 0.04%) + + + +runtime.(*mcentral).cacheSpan (2 samples, 0.08%) + + + +runtime.timerproc (1 samples, 0.04%) + + + +github.com/hashicorp/consul/consul/structs.(*KeyRequest).IsRead (1 samples, 0.04%) + + + +reflect.Value.Index (2 samples, 0.08%) + + + +runtime.duffzero (1 samples, 0.04%) + + + +runtime.greyobject (9 samples, 0.38%) + + + +net.(*netFD).writeTo (1 samples, 0.04%) + + + +runtime.newMarkBits (1 samples, 0.04%) + + + +runtime.resetspinning (2 samples, 0.08%) + + + +fmt.Sprintf (48 samples, 2.02%) +f.. + + +time.Time.date (2 samples, 0.08%) + + + +runtime.gentraceback (1 samples, 0.04%) + + + +runtime.injectglist (1 samples, 0.04%) + + + +runtime.mallocgc (13 samples, 0.55%) + + + +github.com/hashicorp/consul/consul/state.maxIndexTxn (84 samples, 3.54%) +git.. + + +runtime.gcmarkwb_m (1 samples, 0.04%) + + + +runtime.aeshashbody (2 samples, 0.08%) + + + +strings.Index (2 samples, 0.08%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/raft.sendRPC (2 samples, 0.08%) + + + +net/url.QueryUnescape (1 samples, 0.04%) + + + +runtime.mallocgc (3 samples, 0.13%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +net/textproto.TrimString (2 samples, 0.08%) + + + +sync.runtime_procPin (1 samples, 0.04%) + + + +runtime.freespecial (1 samples, 0.04%) + + + +net/http.extraHeader.Write (4 samples, 0.17%) + + + +runtime.mallocgc (2 samples, 0.08%) + + + +runtime.(*mcache).refill (3 samples, 0.13%) + + + +runtime.mallocgc (4 samples, 0.17%) + + + +net/url.unescape (2 samples, 0.08%) + + + +runtime.casgstatus (2 samples, 0.08%) + + + +runtime.mallocgc (1 samples, 0.04%) + + + +runtime.scanobject (67 samples, 2.82%) +ru.. + + +runtime/internal/atomic.Or8 (1 samples, 0.04%) + + + +runtime.stringiter2 (3 samples, 0.13%) + + + +runtime.lock (1 samples, 0.04%) + + + +runtime.writebarrierptr_nostore1.func1 (1 samples, 0.04%) + + + +runtime/internal/atomic.Or8 (2 samples, 0.08%) + + + +github.com/hashicorp/consul/vendor/github.com/armon/go-metrics.(*InmemSink).getExistingInterval (6 samples, 0.25%) + + + +runtime.mallocgc (1 samples, 0.04%) + + + +sync.(*Mutex).Lock (6 samples, 0.25%) + + + +runtime.trygetfull (1 samples, 0.04%) + + + +runtime.gcstopm (1 samples, 0.04%) + + + +runtime.gcAssistAlloc (2 samples, 0.08%) + + + +runtime.newobject (2 samples, 0.08%) + + + +runtime.deferproc (7 samples, 0.30%) + + + +runtime.deferreturn (1 samples, 0.04%) + + + +runtime.markroot.func1 (1 samples, 0.04%) + + + +runtime.duffcopy (2 samples, 0.08%) + + + +sync.(*Pool).Put (4 samples, 0.17%) + + + +runtime.goready.func1 (1 samples, 0.04%) + + + +net/url.ParseQuery (31 samples, 1.31%) + + + +runtime.heapBitsSetType (2 samples, 0.08%) + + + +sync.(*Mutex).Lock (1 samples, 0.04%) + + + +runtime.rawstringtmp (3 samples, 0.13%) + + + +vendor/golang_org/x/net/lex/httplex.ValidHeaderFieldName (9 samples, 0.38%) + + + +runtime.goparkunlock (2 samples, 0.08%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/go-memdb.(*MemDB).getRoot (3 samples, 0.13%) + + + +net.(*netFD).Read (2 samples, 0.08%) + + + +runtime.markBits.setMarked (1 samples, 0.04%) + + + +runtime.deferproc (1 samples, 0.04%) + + + +runtime.stopm (1 samples, 0.04%) + + + +runtime.scanstack (1 samples, 0.04%) + + + +net/http.Header.Set (11 samples, 0.46%) + + + +runtime.pcdatavalue (1 samples, 0.04%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/go-memdb.(*Txn).getIndexValue (47 samples, 1.98%) +g.. + + +runtime.mallocgc (1 samples, 0.04%) + + + +runtime.writebarrierptr_nostore1 (1 samples, 0.04%) + + + +encoding/json.(*sliceEncoder).encode (66 samples, 2.78%) +en.. + + +runtime.shade (1 samples, 0.04%) + + + +runtime.writebarrierptr_nostore1 (1 samples, 0.04%) + + + +runtime.rawstringtmp (10 samples, 0.42%) + + + +encoding/json.(*structEncoder).encode (56 samples, 2.36%) +e.. + + +runtime.systemstack (1 samples, 0.04%) + + + +sync.(*Mutex).Unlock (1 samples, 0.04%) + + + +runtime.(*mheap).alloc.func1 (2 samples, 0.08%) + + + +runtime.newobject (3 samples, 0.13%) + + + +net/http.Header.Get (2 samples, 0.08%) + + + +runtime/internal/atomic.Load (1 samples, 0.04%) + + + +runtime.writebarrierptr (1 samples, 0.04%) + + + +runtime.scanblock (6 samples, 0.25%) + + + +go.(*struct (5 samples, 0.21%) + + + +runtime.deferreturn (2 samples, 0.08%) + + + +time.Time.Date (2 samples, 0.08%) + + + +runtime.systemstack (5 samples, 0.21%) + + + +runtime/internal/atomic.Or8 (1 samples, 0.04%) + + + +runtime.deferproc (4 samples, 0.17%) + + + +runtime.(*mcentral).grow (1 samples, 0.04%) + + + +runtime.mallocgc (8 samples, 0.34%) + + + +runtime.(*waitq).dequeue (2 samples, 0.08%) + + + +path.Clean (5 samples, 0.21%) + + + +runtime.gcDrainN (1 samples, 0.04%) + + + +runtime.gentraceback (1 samples, 0.04%) + + + +runtime.(*mspan).nextFreeIndex (1 samples, 0.04%) + + + +runtime.systemstack (2 samples, 0.08%) + + + +syscall.read (2 samples, 0.08%) + + + +github.com/hashicorp/consul/command/agent.NewDNSServer.func1 (1 samples, 0.04%) + + + +runtime.heapBitsSetType (2 samples, 0.08%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +runtime.systemstack (2 samples, 0.08%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/go-msgpack/codec.(*Decoder).decode (2 samples, 0.08%) + + + +reflect.Value.Elem (2 samples, 0.08%) + + + +runtime.writebarrierptr_nostore1.func1 (1 samples, 0.04%) + + + +net/url.parseQuery (22 samples, 0.93%) + + + +runtime.readgstatus (2 samples, 0.08%) + + + +runtime.gorecover (1 samples, 0.04%) + + + +reflect.(*rtype).Kind (2 samples, 0.08%) + + + +runtime.mallocgc (2 samples, 0.08%) + + + +runtime.mapaccess2_faststr (1 samples, 0.04%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/go-memdb.(*StringFieldIndex).FromArgs (7 samples, 0.30%) + + + +net.(*fdMutex).rwunlock (1 samples, 0.04%) + + + +sync.(*Mutex).Lock (4 samples, 0.17%) + + + +runtime.memclr (2 samples, 0.08%) + + + +runtime.mallocgc (1 samples, 0.04%) + + + +runtime.scang (1 samples, 0.04%) + + + +runtime.newobject (6 samples, 0.25%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +runtime.gosweepone.func1 (1 samples, 0.04%) + + + +runtime.mallocgc (2 samples, 0.08%) + + + +runtime.scanframeworker (35 samples, 1.48%) + + + +runtime.(*bucket).mp (2 samples, 0.08%) + + + +runtime.gcDrainN (1 samples, 0.04%) + + + +runtime.heapBitsForObject (1 samples, 0.04%) + + + +runtime.(*mcache).nextFree (2 samples, 0.08%) + + + +net/http.(*chunkWriter).writeHeader (90 samples, 3.79%) +net/.. + + +runtime.mput (1 samples, 0.04%) + + + +runtime.lock (1 samples, 0.04%) + + + +runtime.heapBits.initSpan (1 samples, 0.04%) + + + +runtime.deferproc.func1 (1 samples, 0.04%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/go-immutable-radix.(*Node).Get (8 samples, 0.34%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/logutils.(*LevelFilter).Write (8 samples, 0.34%) + + + +runtime.futexsleep (1 samples, 0.04%) + + + +github.com/hashicorp/consul/vendor/github.com/armon/go-metrics.(*AggregateSample).Ingest (4 samples, 0.17%) + + + +runtime.futexwakeup (6 samples, 0.25%) + + + +runtime.(*mSpanList).insertBack (1 samples, 0.04%) + + + +runtime.(*mcache).nextFree.func1 (1 samples, 0.04%) + + + +runtime.scanstack (64 samples, 2.70%) +ru.. + + +runtime.systemstack (1 samples, 0.04%) + + + +runtime.heapBitsBulkBarrier (1 samples, 0.04%) + + + +runtime.getitab (3 samples, 0.13%) + + + +runtime.typedmemmove (1 samples, 0.04%) + + + +runtime.mapiternext (2 samples, 0.08%) + + + +runtime.memmove (3 samples, 0.13%) + + + +runtime.gcAssistAlloc.func1 (2 samples, 0.08%) + + + +runtime.strequal (1 samples, 0.04%) + + + +bytes.HasPrefix (1 samples, 0.04%) + + + +runtime.heapBitsSetType (1 samples, 0.04%) + + + +runtime.memeqbody (4 samples, 0.17%) + + + +runtime.duffcopy (1 samples, 0.04%) + + + +runtime.park_m (71 samples, 2.99%) +ru.. + + +net/url.(*URL).Query (17 samples, 0.72%) + + + +runtime.cmpbody (2 samples, 0.08%) + + + +runtime.gcmarkwb_m (1 samples, 0.04%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +runtime.readgstatus (1 samples, 0.04%) + + + +runtime.notesleep (5 samples, 0.21%) + + + +runtime.readvarint (6 samples, 0.25%) + + + +runtime.newobject (7 samples, 0.30%) + + + +runtime.futexwakeup (1 samples, 0.04%) + + + +runtime.ready (1 samples, 0.04%) + + + +runtime.newMarkBits (1 samples, 0.04%) + + + +runtime.writebarrierptr_nostore1.func1 (1 samples, 0.04%) + + + +net/url.split (3 samples, 0.13%) + + + +net.(*netFD).Write (227 samples, 9.57%) +net.(*netFD)... + + +runtime.(*mcache).nextFree (2 samples, 0.08%) + + + +net/url.parseQuery (26 samples, 1.10%) + + + +runtime.heapBitsSetType (3 samples, 0.13%) + + + +bytes.(*Buffer).WriteByte (1 samples, 0.04%) + + + +runtime.mapaccess2_faststr (1 samples, 0.04%) + + + +github.com/hashicorp/consul/command/agent.(*HTTPServer).wrap.func1.1 (125 samples, 5.27%) +github.. + + +runtime.notesleep (1 samples, 0.04%) + + + +runtime.memclr (1 samples, 0.04%) + + + +reflect.Indirect (2 samples, 0.08%) + + + +runtime.deferproc (1 samples, 0.04%) + + + +runtime.(*gcWork).dispose (1 samples, 0.04%) + + + +github.com/hashicorp/consul/command/agent.(*HTTPServer).KVSGet (457 samples, 19.27%) +github.com/hashicorp/consul/co.. + + +runtime.scanstack (2 samples, 0.08%) + + + +syscall.write (207 samples, 8.73%) +syscall.write + + +runtime.stopm (3 samples, 0.13%) + + + +time.Time.Sub (1 samples, 0.04%) + + + +encoding/json.(*encodeState).string (3 samples, 0.13%) + + + +runtime.(*mcentral).cacheSpan (1 samples, 0.04%) + + + +runtime/internal/atomic.Xadd (1 samples, 0.04%) + + + +runtime.writebarrierptr (1 samples, 0.04%) + + + +runtime.heapBitsForObject (2 samples, 0.08%) + + + +runtime.gcMarkTermination.func1 (1 samples, 0.04%) + + + +runtime.(*mheap).allocSpanLocked (1 samples, 0.04%) + + + +runtime.markroot (1 samples, 0.04%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/go-memdb.(*Txn).readableIndex (18 samples, 0.76%) + + + +runtime.gcAssistAlloc.func1 (1 samples, 0.04%) + + + +net/textproto.MIMEHeader.Del (4 samples, 0.17%) + + + +runtime.deferreturn (2 samples, 0.08%) + + + +runtime.heapBitsSetType (2 samples, 0.08%) + + + +runtime.gcDrain (1 samples, 0.04%) + + + +runtime.newobject (5 samples, 0.21%) + + + +runtime.(*mcache).refill (1 samples, 0.04%) + + + +strings.IndexAny (7 samples, 0.30%) + + + +runtime.(*mcache).nextFree (1 samples, 0.04%) + + + +runtime.gcMarkTermination.func2 (2 samples, 0.08%) + + + +runtime.heapBitsForObject (1 samples, 0.04%) + + + +runtime.helpgc (1 samples, 0.04%) + + + +runtime.(*mcache).nextFree (7 samples, 0.30%) + + + +reflect.Value.Call (245 samples, 10.33%) +reflect.Value.C.. + + +runtime/internal/atomic.Or8 (1 samples, 0.04%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +runtime.mallocgc (2 samples, 0.08%) + + + +runtime.gcAssistAlloc (1 samples, 0.04%) + + + +github.com/hashicorp/consul/vendor/github.com/armon/go-metrics.MeasureSince (55 samples, 2.32%) +g.. + + +runtime.systemstack (3 samples, 0.13%) + + + +runtime.gcMarkDone (1 samples, 0.04%) + + + +runtime.stringiter2 (2 samples, 0.08%) + + + +runtime.stringiter2 (7 samples, 0.30%) + + + +runtime.(*mheap).allocSpanLocked (1 samples, 0.04%) + + + +runtime.mapaccess1_faststr (1 samples, 0.04%) + + + +runtime.lock (1 samples, 0.04%) + + + +runtime.(*mspan).sweep (2 samples, 0.08%) + + + +strconv.AppendInt (2 samples, 0.08%) + + + +runtime.newobject (2 samples, 0.08%) + + + +runtime.gcSweep (2 samples, 0.08%) + + + +runtime.mapaccess1_faststr (1 samples, 0.04%) + + + +runtime.readgstatus (1 samples, 0.04%) + + + +runtime.(*mcache).nextFree.func1 (4 samples, 0.17%) + + + +net/http.Header.sortedKeyValues (25 samples, 1.05%) + + + +runtime.mallocgc (9 samples, 0.38%) + + + +runtime.mapiternext (4 samples, 0.17%) + + + +runtime.(*mheap).alloc (1 samples, 0.04%) + + + +net/http.cleanPath (7 samples, 0.30%) + + + +runtime.(*mcentral).grow (1 samples, 0.04%) + + + +runtime.writebarrierptr_nostore1.func1 (1 samples, 0.04%) + + + +reflect.unsafe_New (8 samples, 0.34%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +net/textproto.MIMEHeader.Set (16 samples, 0.67%) + + + +net.(*netFD).readLock (2 samples, 0.08%) + + + +runtime.notetsleep (1 samples, 0.04%) + + + +runtime.rawstring (1 samples, 0.04%) + + + +runtime.memeqbody (1 samples, 0.04%) + + + +runtime.gcDrainN (2 samples, 0.08%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +runtime.greyobject (10 samples, 0.42%) + + + +runtime.gcMarkDone.func1 (1 samples, 0.04%) + + + +runtime.memclr (3 samples, 0.13%) + + + +runtime.writebarrierptr_nostore1 (1 samples, 0.04%) + + + +net/url.shouldEscape (4 samples, 0.17%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +strconv.formatBits (2 samples, 0.08%) + + + +runtime.(*mcentral).cacheSpan (1 samples, 0.04%) + + + +reflect.(*rtype).In (1 samples, 0.04%) + + + +github.com/hashicorp/consul/vendor/github.com/armon/go-metrics.IncrCounter (47 samples, 1.98%) +g.. + + +runtime.globrunqget (2 samples, 0.08%) + + + +reflect.Value.Field (5 samples, 0.21%) + + + +runtime.writebarrierptr_nostore1 (1 samples, 0.04%) + + + +sync.(*Pool).Put (2 samples, 0.08%) + + + +runtime.notewakeup (1 samples, 0.04%) + + + +net.(*netFD).readFrom (1 samples, 0.04%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +runtime.gogo (2 samples, 0.08%) + + + +runtime.mallocgc (8 samples, 0.34%) + + + +runtime.writebarrierptr_nostore1 (1 samples, 0.04%) + + + +runtime.casgstatus (2 samples, 0.08%) + + + +io.(*multiWriter).Write (22 samples, 0.93%) + + + +sync.runtime_Semacquire (4 samples, 0.17%) + + + +runtime.mallocgc (1 samples, 0.04%) + + + +encoding/json.(*ptrEncoder).encode (58 samples, 2.45%) +en.. + + +github.com/hashicorp/consul/vendor/github.com/miekg/dns.ReadFromSessionUDP (1 samples, 0.04%) + + + +strings.Index (2 samples, 0.08%) + + + +runtime.gcAssistAlloc.func1 (2 samples, 0.08%) + + + +runtime.newMarkBits (1 samples, 0.04%) + + + +runtime.deferproc.func1 (2 samples, 0.08%) + + + +runtime.(*mcache).refill (1 samples, 0.04%) + + + +net/http.(*response).finishRequest (336 samples, 14.17%) +net/http.(*response)... + + +runtime.gopark (4 samples, 0.17%) + + + +sync.(*Pool).Get (1 samples, 0.04%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +runtime.gcmarkwb_m (1 samples, 0.04%) + + + +runtime.(*mcache).refill (3 samples, 0.13%) + + + +sync.(*Mutex).Unlock (2 samples, 0.08%) + + + +runtime.writebarrierptr (1 samples, 0.04%) + + + +runtime.shade (1 samples, 0.04%) + + + +log.(*Logger).formatHeader (16 samples, 0.67%) + + + +runtime/internal/atomic.Cas (1 samples, 0.04%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/go-memdb.(*MemDB).Txn (16 samples, 0.67%) + + + +runtime.mapaccess1_fast32 (2 samples, 0.08%) + + + +runtime.ReadMemStats (1 samples, 0.04%) + + + +runtime.goready (1 samples, 0.04%) + + + +runtime.step (5 samples, 0.21%) + + + +github.com/hashicorp/consul/vendor/github.com/miekg/dns.(*Server).ListenAndServe (1 samples, 0.04%) + + + +syscall.Read (2 samples, 0.08%) + + + +runtime.memmove (1 samples, 0.04%) + + + +reflect.(*rtype).ptrTo (5 samples, 0.21%) + + + +runtime/internal/atomic.Xadd64 (1 samples, 0.04%) + + + +runtime.gcAssistAlloc (6 samples, 0.25%) + + + +runtime.gcDrainN (2 samples, 0.08%) + + + +runtime.(*mcache).nextFree (2 samples, 0.08%) + + + +runtime.stringiter2 (5 samples, 0.21%) + + + +runtime.mallocgc (2 samples, 0.08%) + + + +runtime.exitsyscall (11 samples, 0.46%) + + + +net/http.shouldClose (5 samples, 0.21%) + + + +net/http.Header.Set (25 samples, 1.05%) + + + +runtime.mallocgc (5 samples, 0.21%) + + + +net/http.Header.Del (4 samples, 0.17%) + + + +runtime.adjustpointers (1 samples, 0.04%) + + + +runtime.mallocgc (1 samples, 0.04%) + + + +runtime.gcSweep (1 samples, 0.04%) + + + +bufio.(*Reader).fill (2 samples, 0.08%) + + + +net/rpc.(*service).call (271 samples, 11.42%) +net/rpc.(*service.. + + +net/http.(*connReader).Read (88 samples, 3.71%) +net/.. + + +runtime.memclr (1 samples, 0.04%) + + + +runtime.unlock (1 samples, 0.04%) + + + +runtime.memmove (1 samples, 0.04%) + + + +runtime.(*fixalloc).alloc (1 samples, 0.04%) + + + +runtime.mapassign1 (9 samples, 0.38%) + + + +runtime.writebarrierptr (1 samples, 0.04%) + + + +runtime.mapassign1 (1 samples, 0.04%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +runtime.schedule (5 samples, 0.21%) + + + +runtime.(*mcache).refill (1 samples, 0.04%) + + + +strings.Join (7 samples, 0.30%) + + + +runtime.rawbyteslice (4 samples, 0.17%) + + + +runtime.indexbytebody (1 samples, 0.04%) + + + +reflect.mapassign (1 samples, 0.04%) + + + +sync/atomic.AddUint32 (1 samples, 0.04%) + + + +time.(*Duration).String (6 samples, 0.25%) + + + +runtime.exitsyscall0 (3 samples, 0.13%) + + + +runtime.gosweepone.func1 (1 samples, 0.04%) + + + +runtime.deferreturn.func1 (1 samples, 0.04%) + + + +runtime.startm (1 samples, 0.04%) + + + +strings.Index (1 samples, 0.04%) + + + +runtime.shade (1 samples, 0.04%) + + + +runtime.deferreturn.func1 (1 samples, 0.04%) + + + +net.(*UDPConn).readFrom (1 samples, 0.04%) + + + +runtime.newobject (7 samples, 0.30%) + + + +runtime.memclr (1 samples, 0.04%) + + + +runtime.makeslice (6 samples, 0.25%) + + + +runtime/internal/atomic.Xadd64 (1 samples, 0.04%) + + + +runtime.(*mspan).refillAllocCache (1 samples, 0.04%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +runtime.mallocgc (2 samples, 0.08%) + + + +runtime.netpoll (10 samples, 0.42%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +fmt.(*pp).printArg (26 samples, 1.10%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/go-immutable-radix.(*Node).Get (5 samples, 0.21%) + + + +bufio.(*Writer).WriteString (7 samples, 0.30%) + + + +github.com/hashicorp/consul/consul/state.(*StateStore).KVSGet (134 samples, 5.65%) +github... + + +runtime.systemstack (2 samples, 0.08%) + + + +runtime.makemap (2 samples, 0.08%) + + + +runtime.gcAssistAlloc (2 samples, 0.08%) + + + +bytes.(*Buffer).grow (3 samples, 0.13%) + + + +sort.Search (3 samples, 0.13%) + + + +net/textproto.(*Reader).readLineSlice (95 samples, 4.01%) +net/.. + + +runtime.futex (1 samples, 0.04%) + + + +time.Now (1 samples, 0.04%) + + + +runtime.heapBitsBulkBarrier (1 samples, 0.04%) + + + +net/textproto.CanonicalMIMEHeaderKey (7 samples, 0.30%) + + + +runtime.heapBitsSetType (1 samples, 0.04%) + + + +runtime.writebarrierptr_nostore1 (1 samples, 0.04%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/go-immutable-radix.(*Node).getEdge.func1 (2 samples, 0.08%) + + + +sync/atomic.CompareAndSwapUint32 (1 samples, 0.04%) + + + +reflect.(*rtype).AssignableTo (1 samples, 0.04%) + + + +sync.(*Mutex).Unlock (1 samples, 0.04%) + + + +runtime.typedmemmove (1 samples, 0.04%) + + + +runtime.scanobject (2 samples, 0.08%) + + + +net/textproto.(*Reader).closeDot (1 samples, 0.04%) + + + +net/http.(*conn).setState (2 samples, 0.08%) + + + +runtime.step (1 samples, 0.04%) + + + +runtime.gcDrainN (1 samples, 0.04%) + + + +runtime.writebarrierptr (1 samples, 0.04%) + + + +sync.(*RWMutex).RLock (3 samples, 0.13%) + + + +context.parentCancelCtx (2 samples, 0.08%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +runtime.reimburseSweepCredit (1 samples, 0.04%) + + + +runtime.growslice (1 samples, 0.04%) + + + +runtime.scanstack.func1 (1 samples, 0.04%) + + + +runtime.sweepone (20 samples, 0.84%) + + + +runtime.(*mcache).nextFree (4 samples, 0.17%) + + + +sort.insertionSort (6 samples, 0.25%) + + + +runtime.heapBitsSetType (4 samples, 0.17%) + + + +runtime.lock (2 samples, 0.08%) + + + +syscall.Syscall (202 samples, 8.52%) +syscall.Sysc.. + + +net/url.ParseQuery (20 samples, 0.84%) + + + +runtime.(*mcache).refill (2 samples, 0.08%) + + + +sync.(*Pool).pin (1 samples, 0.04%) + + + +net/rpc.(*Server).readRequest (66 samples, 2.78%) +ne.. + + +runtime.rawstring (5 samples, 0.21%) + + + +runtime.greyobject (1 samples, 0.04%) + + + +runtime.newobject (2 samples, 0.08%) + + + +runtime.heapBitsSetType (2 samples, 0.08%) + + + +runtime.systemstack (20 samples, 0.84%) + + + +net.(*fdMutex).rwlock (2 samples, 0.08%) + + + +runtime.(*mheap).alloc (1 samples, 0.04%) + + + +runtime.gcmarkwb_m (1 samples, 0.04%) + + + +runtime.growslice (1 samples, 0.04%) + + + +runtime.writebarrierptr (1 samples, 0.04%) + + + +reflect.(*rtype).Elem (2 samples, 0.08%) + + + +net.(*netFD).Write (2 samples, 0.08%) + + + +net.(*fdMutex).rwlock (2 samples, 0.08%) + + + +runtime.mallocgc (3 samples, 0.13%) + + + +github.com/hashicorp/consul/vendor/github.com/armon/go-metrics.(*InmemSink).getInterval (7 samples, 0.30%) + + + +syscall.Sendto (1 samples, 0.04%) + + + +runtime.systemstack (6 samples, 0.25%) + + + +runtime.mallocgc (2 samples, 0.08%) + + + +runtime.heapBits.initSpan (1 samples, 0.04%) + + + +net.(*UDPConn).readMsg (1 samples, 0.04%) + + + +runtime.memeqbody (1 samples, 0.04%) + + + +net/url.QueryUnescape (1 samples, 0.04%) + + + +runtime.findrunnable (3 samples, 0.13%) + + + +runtime.newarray (2 samples, 0.08%) + + + +runtime/internal/atomic.Xchg (1 samples, 0.04%) + + + +runtime.gcAssistAlloc (3 samples, 0.13%) + + + +net.(*conn).Write (227 samples, 9.57%) +net.(*conn).W.. + + +time.Time.Date (3 samples, 0.13%) + + + +runtime/internal/atomic.Loadp (1 samples, 0.04%) + + + +runtime.memeqbody (3 samples, 0.13%) + + + +runtime.gcMarkDone (1 samples, 0.04%) + + + +runtime.reentersyscall (8 samples, 0.34%) + + + +runtime.newobject (4 samples, 0.17%) + + + +net/rpc.(*Server).sendResponse (17 samples, 0.72%) + + + +runtime.gcAssistAlloc.func1 (46 samples, 1.94%) +r.. + + +runtime.(*mspan).refillAllocCache (1 samples, 0.04%) + + + +runtime.mallocgc (6 samples, 0.25%) + + + +strings.(*Replacer).Replace (5 samples, 0.21%) + + + +runtime.memmove (1 samples, 0.04%) + + + +net/textproto.(*Reader).readContinuedLineSlice (13 samples, 0.55%) + + + +runtime.typedmemmove (1 samples, 0.04%) + + + +runtime.aeshashbody (1 samples, 0.04%) + + + +runtime.memequal64 (1 samples, 0.04%) + + + +runtime.makeslice (4 samples, 0.17%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/go-memdb.(*Txn).readableIndex (10 samples, 0.42%) + + + +runtime.rawbyteslice (4 samples, 0.17%) + + + +runtime.shade (4 samples, 0.17%) + + + +runtime.futex (1 samples, 0.04%) + + + +runtime.duffzero (1 samples, 0.04%) + + + +runtime.gcTryRemoveAllStackBarriers (1 samples, 0.04%) + + + +runtime.newobject (5 samples, 0.21%) + + + +net.(*netFD).writeLock (2 samples, 0.08%) + + + +runtime.deductSweepCredit (1 samples, 0.04%) + + + +runtime.makemap (3 samples, 0.13%) + + + +runtime.startm (7 samples, 0.30%) + + + +runtime.mallocgc (5 samples, 0.21%) + + + +fmt.(*fmt).padString (2 samples, 0.08%) + + + +runtime.(*mcache).nextFree (4 samples, 0.17%) + + + +reflect.resolveTypeOff (5 samples, 0.21%) + + + +runtime.mapiterinit (7 samples, 0.30%) + + + +runtime.(*mcentral).cacheSpan (4 samples, 0.17%) + + + +runtime.newarray (14 samples, 0.59%) + + + +runtime.netpollblock (5 samples, 0.21%) + + + +runtime.forEachP (1 samples, 0.04%) + + + +runtime.growslice (6 samples, 0.25%) + + + +runtime.deferreturn (2 samples, 0.08%) + + + +runtime.heapBitsForObject (1 samples, 0.04%) + + + +runtime/internal/atomic.Xchg (1 samples, 0.04%) + + + +runtime.writebarrierptr_nostore (1 samples, 0.04%) + + + +runtime.(*mcentral).cacheSpan (2 samples, 0.08%) + + + +runtime.futexwakeup (1 samples, 0.04%) + + + +net/textproto.CanonicalMIMEHeaderKey (1 samples, 0.04%) + + + +bytes.(*Buffer).WriteByte (1 samples, 0.04%) + + + +runtime.deferproc.func1 (5 samples, 0.21%) + + + +runtime.gcDrainN (1 samples, 0.04%) + + + +runtime/internal/atomic.Xadd (5 samples, 0.21%) + + + +runtime.gchelper (2 samples, 0.08%) + + + +runtime.duffcopy (2 samples, 0.08%) + + + +github.com/hashicorp/consul/vendor/github.com/armon/go-metrics.(*InmemSink).AddSample (2 samples, 0.08%) + + + +runtime.scanstack.func1 (1 samples, 0.04%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/go-msgpack/codec.(*decFnInfo).kMap (1 samples, 0.04%) + + + +runtime.ifaceeq (1 samples, 0.04%) + + + +runtime.(*mSpanList).remove (1 samples, 0.04%) + + + +github.com/hashicorp/consul/command/agent.missingKey (2 samples, 0.08%) + + + +runtime.slicebytetostring (2 samples, 0.08%) + + + +runtime.(*mspan).sweep (1 samples, 0.04%) + + + +runtime.wakep (1 samples, 0.04%) + + + +runtime.memclr (1 samples, 0.04%) + + + +runtime.gcAssistAlloc (1 samples, 0.04%) + + + +runtime.epollwait (1 samples, 0.04%) + + + +runtime.funcspdelta (3 samples, 0.13%) + + + +net/textproto.CanonicalMIMEHeaderKey (6 samples, 0.25%) + + + +net/http.serverHandler.ServeHTTP (1,189 samples, 50.13%) +net/http.serverHandler.ServeHTTP + + +runtime.goschedImpl (7 samples, 0.30%) + + + +runtime.casgstatus (1 samples, 0.04%) + + + +github.com/hashicorp/consul/vendor/github.com/miekg/dns.(*defaultReader).ReadUDP (1 samples, 0.04%) + + + +runtime.runqgrab (4 samples, 0.17%) + + + +runtime.helpgc (1 samples, 0.04%) + + + +fmt.(*pp).free (5 samples, 0.21%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +runtime.heapBitsSetType (1 samples, 0.04%) + + + +runtime.writebarrierptr_nostore1 (1 samples, 0.04%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +runtime.indexbytebody (1 samples, 0.04%) + + + +net/http.statusLine (5 samples, 0.21%) + + + +bufio.(*Writer).WriteString (2 samples, 0.08%) + + + +runtime.concatstring3 (3 samples, 0.13%) + + + +runtime.(*mcache).nextFree (1 samples, 0.04%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/go-immutable-radix.(*Txn).Get (5 samples, 0.21%) + + + +runtime.gcDrainN (1 samples, 0.04%) + + + +runtime.markrootBlock (6 samples, 0.25%) + + + +runtime.usleep (1 samples, 0.04%) + + + +runtime.rawstringtmp (4 samples, 0.17%) + + + +sync.(*Mutex).Lock (2 samples, 0.08%) + + + +runtime.makemap (5 samples, 0.21%) + + + +runtime.mallocgc (54 samples, 2.28%) +r.. + + +runtime.systemstack (1 samples, 0.04%) + + + +runtime.newArena (1 samples, 0.04%) + + + +runtime.systemstack (2 samples, 0.08%) + + + +runtime/internal/atomic.Or8 (1 samples, 0.04%) + + + +runtime.gcDrainN (5 samples, 0.21%) + + + +runtime.mapaccess1_faststr (2 samples, 0.08%) + + + +runtime.(*gcWork).tryGet (1 samples, 0.04%) + + + +runtime.heapBitsBulkBarrier (1 samples, 0.04%) + + + +runtime.notetsleep_internal (1 samples, 0.04%) + + + +net/http.readRequest.func1 (2 samples, 0.08%) + + + +runtime.ReadMemStats.func1 (1 samples, 0.04%) + + + +runtime.(*mheap).alloc (3 samples, 0.13%) + + + +runtime.gcMarkTermination (1 samples, 0.04%) + + + +runtime.deferproc (1 samples, 0.04%) + + + +runtime.scanframeworker (4 samples, 0.17%) + + + +runtime.writebarrierptr_nostore1.func1 (1 samples, 0.04%) + + + +runtime.stackmapdata (1 samples, 0.04%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/memberlist.(*Memberlist).encodeAndSendMsg (1 samples, 0.04%) + + + +net/url.(*URL).EscapedPath (5 samples, 0.21%) + + + +runtime.(*mcache).nextFree (1 samples, 0.04%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/serf/serf.decodeMessage (1 samples, 0.04%) + + + +runtime.(*mcache).nextFree (4 samples, 0.17%) + + + +runtime.slicebytetostring (4 samples, 0.17%) + + + +runtime.(*mcentral).cacheSpan (4 samples, 0.17%) + + + +runtime.mallocgc (3 samples, 0.13%) + + + +runtime/internal/atomic.Xchg (1 samples, 0.04%) + + + +runtime.mapaccess1_faststr (1 samples, 0.04%) + + + +runtime.memmove (1 samples, 0.04%) + + + +runtime.(*mcache).refill (1 samples, 0.04%) + + + +syscall.Syscall (60 samples, 2.53%) +sy.. + + +net/textproto.canonicalMIMEHeaderKey (7 samples, 0.30%) + + + +runtime.writebarrierptr_nostore1.func1 (1 samples, 0.04%) + + + +runtime.interequal (1 samples, 0.04%) + + + +runtime.newdefer (2 samples, 0.08%) + + + +runtime.writebarrierptr_nostore1 (1 samples, 0.04%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/raft.decodeResponse (2 samples, 0.08%) + + + +runtime.gcDrainN (2 samples, 0.08%) + + + +runtime.(*mspan).sweep (1 samples, 0.04%) + + + +runtime.entersyscall (4 samples, 0.17%) + + + +sync/atomic.CompareAndSwapUint32 (1 samples, 0.04%) + + + +runtime.unlock (1 samples, 0.04%) + + + +runtime.funcspdelta (1 samples, 0.04%) + + + +runtime.(*mcache).nextFree.func1 (1 samples, 0.04%) + + + +github.com/hashicorp/consul/consul/structs.(*KeyRequest).AllowStaleRead (1 samples, 0.04%) + + + +encoding/json.(*encodeState).string (5 samples, 0.21%) + + + +runtime.memmove (1 samples, 0.04%) + + + +runtime.newdefer (1 samples, 0.04%) + + + +runtime.scang (71 samples, 2.99%) +ru.. + + +runtime.(*gcWork).tryGet (1 samples, 0.04%) + + + +strings.IndexAny (2 samples, 0.08%) + + + +runtime.gcDrainN (2 samples, 0.08%) + + + +sync/atomic.LoadUint32 (1 samples, 0.04%) + + + +runtime.futexwakeup (1 samples, 0.04%) + + + +reflect.ValueOf (1 samples, 0.04%) + + + +runtime.gcDrainN (2 samples, 0.08%) + + + +runtime.(*mSpanList).remove (1 samples, 0.04%) + + + +runtime.writebarrierptr (1 samples, 0.04%) + + + +runtime.heapBitsSetType (4 samples, 0.17%) + + + +runtime/internal/atomic.Cas (1 samples, 0.04%) + + + +strconv.FormatUint (2 samples, 0.08%) + + + +reflect.Value.IsNil (1 samples, 0.04%) + + + +runtime/internal/atomic.Xadd64 (1 samples, 0.04%) + + + +time.fmtFrac (1 samples, 0.04%) + + + +sort.quickSort (6 samples, 0.25%) + + + +runtime.heapBitsForObject (1 samples, 0.04%) + + + +runtime.(*gcControllerState).enlistWorker (1 samples, 0.04%) + + + +runtime.concatstring2 (2 samples, 0.08%) + + + +strings.Index (1 samples, 0.04%) + + + +strings.Count (1 samples, 0.04%) + + + +runtime.duffcopy (1 samples, 0.04%) + + + +runtime.memmove (1 samples, 0.04%) + + + +runtime.pcvalue (12 samples, 0.51%) + + + +runtime.scanobject (1 samples, 0.04%) + + + +runtime.findfunc (1 samples, 0.04%) + + + +runtime.newobject (11 samples, 0.46%) + + + +reflect.Value.Set (11 samples, 0.46%) + + + +runtime.writebarrierptr (1 samples, 0.04%) + + + +runtime.writebarrierptr_nostore1 (1 samples, 0.04%) + + + +bytes.(*Buffer).Write (3 samples, 0.13%) + + + +runtime.(*mspan).sweep (10 samples, 0.42%) + + + +runtime.findrunnable (2 samples, 0.08%) + + + +runtime.mallocgc (1 samples, 0.04%) + + + +net/textproto.CanonicalMIMEHeaderKey (2 samples, 0.08%) + + + +github.com/hashicorp/consul/vendor/github.com/armon/go-metrics.(*Metrics).emitRuntimeStats (1 samples, 0.04%) + + + +encoding/json.encodeByteSlice (16 samples, 0.67%) + + + +runtime.writebarrierptr_nostore1.func1 (1 samples, 0.04%) + + + +runtime.(*mspan).countFree (2 samples, 0.08%) + + + +runtime._ExternalCode (75 samples, 3.16%) +run.. + + +runtime.deferreturn (1 samples, 0.04%) + + + +runtime.osyield (3 samples, 0.13%) + + + +runtime.gcmarkwb_m (1 samples, 0.04%) + + + +runtime/internal/atomic.Xchg (1 samples, 0.04%) + + + +reflect.Value.SetMapIndex (1 samples, 0.04%) + + + +runtime.systemstack (4 samples, 0.17%) + + + +runtime.(*mcentral).cacheSpan (4 samples, 0.17%) + + + +runtime.mcall (81 samples, 3.41%) +run.. + + +runtime.futex (1 samples, 0.04%) + + + +runtime.(*mcentral).cacheSpan (1 samples, 0.04%) + + + +runtime.sweepone (1 samples, 0.04%) + + + +runtime.memmove (1 samples, 0.04%) + + + +github.com/hashicorp/consul/vendor/github.com/armon/go-metrics.(*Metrics).MeasureSince (50 samples, 2.11%) +g.. + + +reflect.(*rtype).IsVariadic (1 samples, 0.04%) + + + +runtime.(*mcentral).cacheSpan (1 samples, 0.04%) + + + +runtime.gcMarkDone (1 samples, 0.04%) + + + +runtime.greyobject (1 samples, 0.04%) + + + +runtime.greyobject (1 samples, 0.04%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +runtime.pcdatavalue (1 samples, 0.04%) + + + +fmt.(*pp).fmtString (6 samples, 0.25%) + + + +net/http.checkConnErrorWriter.Write (231 samples, 9.74%) +net/http.check.. + + +runtime.newMarkBits (1 samples, 0.04%) + + + +runtime.heapBitsSetType (1 samples, 0.04%) + + + +strconv.formatBits (2 samples, 0.08%) + + + +runtime.mcall (2 samples, 0.08%) + + + +github.com/hashicorp/consul/vendor/github.com/armon/go-metrics.(*InmemSink).flattenKey (1 samples, 0.04%) + + + +runtime.writebarrierptr (1 samples, 0.04%) + + + +runtime.systemstack (3 samples, 0.13%) + + + +runtime.memmove (1 samples, 0.04%) + + + +reflect.directlyAssignable (1 samples, 0.04%) + + + +runtime.epollwait (6 samples, 0.25%) + + + +runtime.greyobject (1 samples, 0.04%) + + + +runtime.heapBitsForObject (1 samples, 0.04%) + + + +runtime/internal/atomic.And8 (1 samples, 0.04%) + + + +runtime/internal/atomic.Xchg (1 samples, 0.04%) + + + +runtime.gcMarkTermination (1 samples, 0.04%) + + + +runtime.mallocgc (1 samples, 0.04%) + + + +net.(*fdMutex).rwunlock (2 samples, 0.08%) + + + +runtime.gcAssistAlloc (2 samples, 0.08%) + + + +runtime.gcLockStackBarriers (1 samples, 0.04%) + + + +encoding/json.uintEncoder (6 samples, 0.25%) + + + +runtime.return0 (1 samples, 0.04%) + + + +runtime.(*mspan).sweep (1 samples, 0.04%) + + + +runtime.acquireSudog (1 samples, 0.04%) + + + +runtime.makemap (4 samples, 0.17%) + + + +runtime.newdefer (3 samples, 0.13%) + + + +runtime.newobject (5 samples, 0.21%) + + + +reflect.(*rtype).Elem (3 samples, 0.13%) + + + +strings.IndexAny (2 samples, 0.08%) + + + +runtime.heapBitsForObject (1 samples, 0.04%) + + + +runtime.runqget (4 samples, 0.17%) + + + +runtime.writebarrierptr_nostore1.func1 (1 samples, 0.04%) + + + +runtime.gentraceback (2 samples, 0.08%) + + + +runtime.writebarrierptr_nostore1.func1 (1 samples, 0.04%) + + + +runtime.gcAssistAlloc (1 samples, 0.04%) + + + +runtime.gosweepone.func1 (1 samples, 0.04%) + + + +runtime.writebarrierptr_nostore1 (1 samples, 0.04%) + + + +sync/atomic.AddUint32 (1 samples, 0.04%) + + + +runtime.execute (3 samples, 0.13%) + + + +runtime/internal/atomic.Xadd64 (1 samples, 0.04%) + + + +runtime.gcDrain (1 samples, 0.04%) + + + +runtime.gcmarkwb_m (1 samples, 0.04%) + + + +net/textproto.(*Reader).upcomingHeaderNewlines (4 samples, 0.17%) + + + +runtime.mallocgc (7 samples, 0.30%) + + + +runtime.systemstack (4 samples, 0.17%) + + + +runtime.deferreturn (3 samples, 0.13%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +reflect.(*rtype).NumMethod (2 samples, 0.08%) + + + +runtime.funcspdelta (14 samples, 0.59%) + + + +runtime.newdefer (2 samples, 0.08%) + + + +runtime.deferproc (1 samples, 0.04%) + + + +runtime.rawstring (4 samples, 0.17%) + + + +github.com/hashicorp/consul/command/agent.setLastContact (21 samples, 0.89%) + + + +runtime.(*mcentral).grow (1 samples, 0.04%) + + + +runtime.mallocgc (1 samples, 0.04%) + + + +runtime.gcmarkwb_m (1 samples, 0.04%) + + + +reflect.flag.mustBeAssignable (1 samples, 0.04%) + + + +net/http.(*conn).hijacked (4 samples, 0.17%) + + + +runtime.netpollready (3 samples, 0.13%) + + + +bufio.(*Writer).Flush (326 samples, 13.74%) +bufio.(*Writer).Flush + + +sync.(*RWMutex).RLock (5 samples, 0.21%) + + + +log.itoa (9 samples, 0.38%) + + + +runtime.heapBitsForObject (1 samples, 0.04%) + + + +net/url.parseQuery (22 samples, 0.93%) + + + +sync.(*Pool).pin (1 samples, 0.04%) + + + +runtime.(*mcache).nextFree.func1 (3 samples, 0.13%) + + + +runtime.futexsleep (1 samples, 0.04%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/memberlist.(*Memberlist).probeNode (1 samples, 0.04%) + + + +runtime.(*mheap).alloc.func1 (2 samples, 0.08%) + + + +runtime.procyield (2 samples, 0.08%) + + + +runtime.newobject (1 samples, 0.04%) + + + +reflect.New (16 samples, 0.67%) + + + +runtime.mapdelete (2 samples, 0.08%) + + + +runtime.markroot (2 samples, 0.08%) + + + +runtime.gcMarkTermination.func1 (1 samples, 0.04%) + + + +runtime/internal/atomic.Load (1 samples, 0.04%) + + + +runtime.convT2E (7 samples, 0.30%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/go-memdb.(*StringFieldIndex).FromArgs (29 samples, 1.22%) + + + +net/rpc.(*Server).freeResponse (2 samples, 0.08%) + + + +encoding/json.(*encodeState).marshal.func1 (2 samples, 0.08%) + + + +runtime.mallocgc (5 samples, 0.21%) + + + +runtime.newarray (8 samples, 0.34%) + + + +net.(*UDPConn).ReadFrom (1 samples, 0.04%) + + + +runtime.stringiter2 (2 samples, 0.08%) + + + +runtime.makemap (5 samples, 0.21%) + + + +runtime.selectgo (1 samples, 0.04%) + + + +runtime.procyield (1 samples, 0.04%) + + + +runtime.gcAssistAlloc.func1 (1 samples, 0.04%) + + + +runtime.lock (4 samples, 0.17%) + + + +runtime.mallocgc (6 samples, 0.25%) + + + +runtime.pcvalue (18 samples, 0.76%) + + + +time.Time.Clock (1 samples, 0.04%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/raft.(*Raft).replicate (2 samples, 0.08%) + + + +bytes.IndexByte (1 samples, 0.04%) + + + +runtime.growslice (1 samples, 0.04%) + + + +runtime.futexwakeup (1 samples, 0.04%) + + + +runtime.findmoduledatap (1 samples, 0.04%) + + + +github.com/hashicorp/consul/vendor/github.com/armon/go-metrics.(*InmemSink).flattenKey (11 samples, 0.46%) + + + +runtime.convT2E (4 samples, 0.17%) + + + +runtime.mallocgc (3 samples, 0.13%) + + + +runtime.duffzero (1 samples, 0.04%) + + + +strings.Map (9 samples, 0.38%) + + + +runtime.mallocgc (3 samples, 0.13%) + + + +runtime.(*mcentral).freeSpan (4 samples, 0.17%) + + + +runtime.deferproc.func1 (1 samples, 0.04%) + + + +reflect.packEface (1 samples, 0.04%) + + + +runtime.writebarrierptr_nostore1 (1 samples, 0.04%) + + + +net/http.Header.Set (8 samples, 0.34%) + + + +runtime.systemstack (2 samples, 0.08%) + + + +runtime.greyobject (9 samples, 0.38%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +strings.IndexByte (2 samples, 0.08%) + + + +runtime.(*mcache).refill (1 samples, 0.04%) + + + +strings.IndexAny (5 samples, 0.21%) + + + +runtime.heapBitsSetType (4 samples, 0.17%) + + + +runtime.rawstringtmp (2 samples, 0.08%) + + + +runtime.(*mcentral).cacheSpan (1 samples, 0.04%) + + + +net/url.parseQuery (19 samples, 0.80%) + + + +runtime.scang (1 samples, 0.04%) + + + +runtime/internal/atomic.Or8 (1 samples, 0.04%) + + + +runtime.gosched_m (7 samples, 0.30%) + + + +runtime.selectgoImpl (1 samples, 0.04%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +sync.(*Mutex).Lock (1 samples, 0.04%) + + + +runtime.markroot.func1 (1 samples, 0.04%) + + + +runtime.(*mcentral).cacheSpan (1 samples, 0.04%) + + + +runtime.sweepone (1 samples, 0.04%) + + + +reflect.Value.NumMethod (2 samples, 0.08%) + + + +context.WithCancel.func1 (11 samples, 0.46%) + + + +runtime.scanstack.func1 (4 samples, 0.17%) + + + +net/textproto.CanonicalMIMEHeaderKey (1 samples, 0.04%) + + + +runtime.fastrand1 (3 samples, 0.13%) + + + +runtime.mallocgc (1 samples, 0.04%) + + + +runtime.shade (1 samples, 0.04%) + + + +runtime.mapaccess1_faststr (1 samples, 0.04%) + + + +runtime.systemstack (2 samples, 0.08%) + + + +runtime.callers.func1 (1 samples, 0.04%) + + + +runtime.(*gcControllerState).findRunnableGCWorker (1 samples, 0.04%) + + + +runtime.heapBitsSetType (3 samples, 0.13%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +runtime.mallocgc (2 samples, 0.08%) + + + +runtime.assertI2I2 (4 samples, 0.17%) + + + +runtime.gcAssistAlloc.func1 (1 samples, 0.04%) + + + +runtime.writebarrierptr_nostore1.func1 (1 samples, 0.04%) + + + +runtime.newMarkBits (1 samples, 0.04%) + + + +runtime/internal/atomic.Cas (1 samples, 0.04%) + + + +runtime.markroot.func1 (1 samples, 0.04%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +runtime.markroot (1 samples, 0.04%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +runtime.indexbytebody (1 samples, 0.04%) + + + +runtime.writebarrierptr_nostore1.func1 (1 samples, 0.04%) + + + +runtime.gcmarkwb_m (1 samples, 0.04%) + + + +runtime.mapiterinit (5 samples, 0.21%) + + + +runtime.mallocgc (3 samples, 0.13%) + + + +encoding/json.valueEncoder (12 samples, 0.51%) + + + +sync.(*Mutex).Lock (1 samples, 0.04%) + + + +runtime.rawstring (5 samples, 0.21%) + + + +runtime.gcAssistAlloc.func1 (1 samples, 0.04%) + + + +runtime.mallocgc (3 samples, 0.13%) + + + +runtime.systemstack (4 samples, 0.17%) + + + +runtime.greyobject (2 samples, 0.08%) + + + +runtime.mapaccess1_faststr (14 samples, 0.59%) + + + +runtime.rawstringtmp (6 samples, 0.25%) + + + +runtime.systemstack (3 samples, 0.13%) + + + +encoding/json.(*encodeState).marshal (90 samples, 3.79%) +enco.. + + +runtime.slicebytetostring (1 samples, 0.04%) + + + +net/url.(*URL).EscapedPath (6 samples, 0.25%) + + + +runtime.shade (1 samples, 0.04%) + + + +runtime.gcDrainN (1 samples, 0.04%) + + + +runtime.(*mspan).sweep (1 samples, 0.04%) + + + +runtime.(*mcache).releaseAll (1 samples, 0.04%) + + + +github.com/hashicorp/consul/command/agent.(*HTTPServer).handleFuncMetrics.func1 (1,069 samples, 45.07%) +github.com/hashicorp/consul/command/agent.(*HTTPServer).handleFuncMetrics.. + + +reflect.(*rtype).Out (1 samples, 0.04%) + + + +runtime.mallocgc (1 samples, 0.04%) + + + +runtime.heapBitsBulkBarrier (1 samples, 0.04%) + + + +runtime.gcAssistAlloc (1 samples, 0.04%) + + + +sync.runtime_procPin (1 samples, 0.04%) + + + +runtime.semacquire (4 samples, 0.17%) + + + +runtime.lock (2 samples, 0.08%) + + + +github.com/hashicorp/consul/consul.(*Server).setQueryMeta (2 samples, 0.08%) + + + +runtime.rawstring (2 samples, 0.08%) + + + +runtime.(*mcache).refill (1 samples, 0.04%) + + + +runtime.heapBitsForObject (1 samples, 0.04%) + + + +runtime.systemstack (2 samples, 0.08%) + + + +runtime.memmove (1 samples, 0.04%) + + + +net/textproto.MIMEHeader.Set (11 samples, 0.46%) + + + +net/http.Header.Del (4 samples, 0.17%) + + + +net/rpc.(*Server).ServeRequest (338 samples, 14.25%) +net/rpc.(*Server).Ser.. + + +runtime.gcAssistAlloc (1 samples, 0.04%) + + + +runtime.systemstack (2 samples, 0.08%) + + + +runtime.heapBitsForObject (10 samples, 0.42%) + + + +runtime.memclr (1 samples, 0.04%) + + + +runtime.pcvalue (3 samples, 0.13%) + + + +runtime.deferreturn (2 samples, 0.08%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/memberlist.(*Memberlist).(github.com/hashicorp/consul/vendor/github.com/hashicorp/memberlist.gossip)-fm (3 samples, 0.13%) + + + +runtime.pcvalue (1 samples, 0.04%) + + + +runtime.deferreturn (1 samples, 0.04%) + + + +runtime.greyobject (2 samples, 0.08%) + + + +strings.Join (1 samples, 0.04%) + + + +net.(*UDPConn).ReadMsgUDP (1 samples, 0.04%) + + + +runtime.heapBitsSetType (2 samples, 0.08%) + + + +runtime.mallocgc (4 samples, 0.17%) + + + +runtime.gcAssistAlloc (1 samples, 0.04%) + + + +runtime.newobject (3 samples, 0.13%) + + + +github.com/hashicorp/consul/vendor/github.com/miekg/dns.(*Server).serveUDP (1 samples, 0.04%) + + + +runtime.gcAssistAlloc.func1 (2 samples, 0.08%) + + + +net/http.putBufioWriter (2 samples, 0.08%) + + + +runtime.newobject (7 samples, 0.30%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +sort.Search (4 samples, 0.17%) + + + +runtime.systemstack (3 samples, 0.13%) + + + +net/url.ParseQuery (17 samples, 0.72%) + + + +sync/atomic.CompareAndSwapUint32 (1 samples, 0.04%) + + + +runtime.startm (1 samples, 0.04%) + + + +github.com/hashicorp/consul/command/agent.(*HTTPServer).KVSEndpoint-fm (592 samples, 24.96%) +github.com/hashicorp/consul/command/age.. + + +sync/atomic.CompareAndSwapUint32 (2 samples, 0.08%) + + + +runtime.notesleep (2 samples, 0.08%) + + + +runtime.greyobject (1 samples, 0.04%) + + + +runtime.heapBitsSetType (1 samples, 0.04%) + + + +runtime.shade (1 samples, 0.04%) + + + +github.com/hashicorp/consul/command/agent.(*HTTPServer).parseToken (27 samples, 1.14%) + + + +runtime.flushallmcaches (1 samples, 0.04%) + + + +runtime.(*gcControllerState).findRunnableGCWorker (2 samples, 0.08%) + + + +runtime/internal/atomic.Xchg (1 samples, 0.04%) + + + +runtime.netpollunblock (2 samples, 0.08%) + + + +runtime.(*mcentral).uncacheSpan (1 samples, 0.04%) + + + +runtime.mapassign1 (3 samples, 0.13%) + + + +runtime.heapBitsBulkBarrier (1 samples, 0.04%) + + + +runtime.deferproc (3 samples, 0.13%) + + + +runtime.gcDrain (10 samples, 0.42%) + + + +runtime.makemap (11 samples, 0.46%) + + + +runtime.mProf_GC (1 samples, 0.04%) + + + +runtime.deferreturn (2 samples, 0.08%) + + + +runtime.getcallersp (1 samples, 0.04%) + + + +runtime.goexit (2,170 samples, 91.48%) +runtime.goexit + + +runtime.indexbytebody (1 samples, 0.04%) + + + +runtime.mapiternext (2 samples, 0.08%) + + + +net.(*pollDesc).prepare (2 samples, 0.08%) + + + +runtime.heapBitsForObject (1 samples, 0.04%) + + + +net/url.parseQuery (18 samples, 0.76%) + + + +runtime.greyobject (1 samples, 0.04%) + + + +runtime.(*gcWork).put (1 samples, 0.04%) + + + +runtime.(*mSpanList).insertBack (1 samples, 0.04%) + + + +runtime.gentraceback (1 samples, 0.04%) + + + +runtime.greyobject (1 samples, 0.04%) + + + +net/url.parseQuery (13 samples, 0.55%) + + + +net/http.(*Request).wantsClose (2 samples, 0.08%) + + + +runtime.(*mcache).nextFree.func1 (1 samples, 0.04%) + + + +runtime.(*mcache).nextFree (1 samples, 0.04%) + + + +runtime.gcDrain (1 samples, 0.04%) + + + +all (2,372 samples, 100%) + + + +runtime.mallocgc (1 samples, 0.04%) + + + +runtime.copystack (2 samples, 0.08%) + + + +runtime.markroot.func1 (2 samples, 0.08%) + + + +net/http.(*conn).readRequest (429 samples, 18.09%) +net/http.(*conn).readRequest + + +runtime.(*guintptr).cas (1 samples, 0.04%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/memberlist.(*Memberlist).triggerFunc (4 samples, 0.17%) + + + +runtime.stringtoslicebyte (4 samples, 0.17%) + + + +runtime.rawstring (2 samples, 0.08%) + + + +runtime.mallocgc (1 samples, 0.04%) + + + +runtime.futex (1 samples, 0.04%) + + + +runtime.readvarint (1 samples, 0.04%) + + + +runtime/internal/atomic.Xchg (1 samples, 0.04%) + + + +runtime.(*mheap).alloc_m (1 samples, 0.04%) + + + +runtime.gcMarkTermination.func2 (1 samples, 0.04%) + + + +runtime.heapBits.initSpan (2 samples, 0.08%) + + + +github.com/hashicorp/consul/consul.(*Server).IsLeader (1 samples, 0.04%) + + + +runtime.scang (1 samples, 0.04%) + + + +runtime.netpollblockcommit (1 samples, 0.04%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/memberlist.(*Memberlist).udpListen (1 samples, 0.04%) + + + +net.(*pollDesc).waitRead (7 samples, 0.30%) + + + +runtime.markroot.func1 (1 samples, 0.04%) + + + +github.com/hashicorp/consul/command/agent.setKnownLeader (8 samples, 0.34%) + + + +runtime.(*gcWork).get (1 samples, 0.04%) + + + +runtime.(*mspan).refillAllocCache (1 samples, 0.04%) + + + +runtime.newobject (3 samples, 0.13%) + + + +runtime.deferproc (1 samples, 0.04%) + + + +runtime.stopm (1 samples, 0.04%) + + + +runtime.gcmarkwb_m (1 samples, 0.04%) + + + +runtime.deferproc.func1 (3 samples, 0.13%) + + + +runtime.heapBitsSetType (3 samples, 0.13%) + + + +net/http.(*headerSorter).Swap (1 samples, 0.04%) + + + +github.com/hashicorp/consul/consul.(*Server).forward (3 samples, 0.13%) + + + +github.com/hashicorp/consul/vendor/github.com/armon/go-metrics.MeasureSince (2 samples, 0.08%) + + + +time.Now (2 samples, 0.08%) + + + +github.com/hashicorp/consul/vendor/github.com/armon/go-metrics.(*InmemSink).getExistingInterval (8 samples, 0.34%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/go-immutable-radix.(*Node).getEdge (3 samples, 0.13%) + + + +runtime.memmove (1 samples, 0.04%) + + + +runtime.deferproc.func1 (1 samples, 0.04%) + + + +runtime.duffcopy (2 samples, 0.08%) + + + +sort.Search (2 samples, 0.08%) + + + +runtime.readvarint (1 samples, 0.04%) + + + +runtime.aeshash (1 samples, 0.04%) + + + +runtime.(*mspan).sweep (1 samples, 0.04%) + + + +runtime.mapiterinit (2 samples, 0.08%) + + + +net/url.QueryUnescape (1 samples, 0.04%) + + + +net/http.fixLength (7 samples, 0.30%) + + + +bytes.(*Buffer).WriteByte (2 samples, 0.08%) + + + +runtime.stringiter2 (1 samples, 0.04%) + + + +runtime.unlock (1 samples, 0.04%) + + + +net/http.(*conn).hijacked (3 samples, 0.13%) + + + +runtime.writebarrierptr (1 samples, 0.04%) + + + +runtime.heapBitsSetType (1 samples, 0.04%) + + + +strings.Index (1 samples, 0.04%) + + + +runtime.callwritebarrier (2 samples, 0.08%) + + + +runtime.gcDrainN (1 samples, 0.04%) + + + +runtime.mapaccess1_faststr (1 samples, 0.04%) + + + +runtime/internal/atomic.Xchg (1 samples, 0.04%) + + + +runtime.(*mcentral).cacheSpan (3 samples, 0.13%) + + + +runtime.makeslice (3 samples, 0.13%) + + + +runtime.writebarrierptr_nostore1 (1 samples, 0.04%) + + + +runtime.typedmemmove (1 samples, 0.04%) + + + +runtime.deferreturn.func1 (1 samples, 0.04%) + + + +runtime.(*mcentral).cacheSpan (4 samples, 0.17%) + + + +runtime/internal/atomic.Cas (1 samples, 0.04%) + + + +runtime.memclr (1 samples, 0.04%) + + + +sync/atomic.CompareAndSwapUint64 (2 samples, 0.08%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +runtime.writebarrierptr (1 samples, 0.04%) + + + +strings.Join (15 samples, 0.63%) + + + +net/http.(*ServeMux).Handler (117 samples, 4.93%) +net/ht.. + + +runtime.typedmemmove (2 samples, 0.08%) + + + +runtime.rawstringtmp (2 samples, 0.08%) + + + +runtime.deferreturn (2 samples, 0.08%) + + + +runtime.concatstrings (3 samples, 0.13%) + + + +runtime.acquireSudog (2 samples, 0.08%) + + + +runtime.pcvalue (1 samples, 0.04%) + + + +runtime.freedefer (1 samples, 0.04%) + + + +runtime.systemstack (3 samples, 0.13%) + + + +runtime.mallocgc (3 samples, 0.13%) + + + +runtime.markroot (81 samples, 3.41%) +run.. + + +time.Time.abs (1 samples, 0.04%) + + + +net.(*netFD).writeUnlock (2 samples, 0.08%) + + + +runtime.greyobject (1 samples, 0.04%) + + + +runtime.(*mheap).alloc_m (2 samples, 0.08%) + + + +net/url.unescape (3 samples, 0.13%) + + + +runtime.mallocgc (3 samples, 0.13%) + + + +net/textproto.CanonicalMIMEHeaderKey (7 samples, 0.30%) + + + +net/http.newBufioWriterSize (8 samples, 0.34%) + + + +runtime.gchelper (1 samples, 0.04%) + + + +runtime.gcAssistAlloc (1 samples, 0.04%) + + + +runtime.growslice (4 samples, 0.17%) + + + +runtime.exitsyscallfast (5 samples, 0.21%) + + + +runtime.mapassign1 (9 samples, 0.38%) + + + +sort.Sort (8 samples, 0.34%) + + + +runtime.gcAssistAlloc.func1 (2 samples, 0.08%) + + + +runtime.assertE2T2 (4 samples, 0.17%) + + + +runtime.scang (8 samples, 0.34%) + + + +bytes.(*Buffer).grow (3 samples, 0.13%) + + + +strings.ToLower (10 samples, 0.42%) + + + +runtime.newMarkBits (1 samples, 0.04%) + + + +runtime/internal/atomic.Xadd64 (1 samples, 0.04%) + + + +runtime.notewakeup (1 samples, 0.04%) + + + +runtime.(*mSpanList).insert (1 samples, 0.04%) + + + +runtime.(*mcache).refill (1 samples, 0.04%) + + + +net/url.unescape (1 samples, 0.04%) + + + +runtime.mapdelete (2 samples, 0.08%) + + + +net/url.ParseQuery (16 samples, 0.67%) + + + +encoding/json.stringEncoder (5 samples, 0.21%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/go-msgpack/codec.(*msgpackDecDriver).initReadNext (2 samples, 0.08%) + + + +encoding/json.typeEncoder (12 samples, 0.51%) + + + +runtime.heapBitsSetType (2 samples, 0.08%) + + + +strconv.formatBits (2 samples, 0.08%) + + + +strings.IndexAny (4 samples, 0.17%) + + + +bufio.(*Writer).Flush (2 samples, 0.08%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +runtime.shade (1 samples, 0.04%) + + + +runtime.newarray (5 samples, 0.21%) + + + +time.absDate (1 samples, 0.04%) + + + +runtime.(*mheap).alloc.func1 (1 samples, 0.04%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/go-immutable-radix.(*Node).getEdge.func1 (3 samples, 0.13%) + + + +runtime.newobject (1 samples, 0.04%) + + + +runtime.freedefer (1 samples, 0.04%) + + + +runtime.deferreturn (1 samples, 0.04%) + + + +net/url.unescape (2 samples, 0.08%) + + + +runtime.makeslice (6 samples, 0.25%) + + + +net/url.QueryUnescape (1 samples, 0.04%) + + + +runtime.writebarrierptr_nostore1.func1 (1 samples, 0.04%) + + + +runtime.assertE2T2 (1 samples, 0.04%) + + + +runtime.memmove (1 samples, 0.04%) + + + +runtime.newobject (1 samples, 0.04%) + + + +runtime.gcAssistAlloc (1 samples, 0.04%) + + + +runtime.futexsleep (2 samples, 0.08%) + + + +net/http.(*response).Header (1 samples, 0.04%) + + + +runtime.gcmarkwb_m (1 samples, 0.04%) + + + +runtime.sweepone (1 samples, 0.04%) + + + +runtime.gcMark (1 samples, 0.04%) + + + +runtime.(*mcache).refill (4 samples, 0.17%) + + + +runtime.mapiterinit (3 samples, 0.13%) + + + +sync.(*Mutex).Lock (1 samples, 0.04%) + + + +net.(*netFD).readMsg (1 samples, 0.04%) + + + +runtime.memmove (1 samples, 0.04%) + + + +runtime.gentraceback (8 samples, 0.34%) + + + +runtime.markroot (1 samples, 0.04%) + + + +runtime.scang (1 samples, 0.04%) + + + +runtime.newarray (13 samples, 0.55%) + + + +runtime.scanobject (43 samples, 1.81%) +r.. + + +runtime.mapiternext (1 samples, 0.04%) + + + +runtime.mapassign1 (7 samples, 0.30%) + + + +runtime.newobject (1 samples, 0.04%) + + + +runtime.putfull (1 samples, 0.04%) + + + +runtime.gcAssistAlloc.func1 (1 samples, 0.04%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +net/http.(*chunkWriter).writeHeader.func1 (7 samples, 0.30%) + + + +runtime.unlock (1 samples, 0.04%) + + + +runtime.scanstack (1 samples, 0.04%) + + + +runtime.(*mcache).refill (4 samples, 0.17%) + + + +runtime.writebarrierptr (1 samples, 0.04%) + + + +runtime.(*mcache).nextFree.func1 (2 samples, 0.08%) + + + +sync.(*Mutex).Unlock (2 samples, 0.08%) + + + +net/http.Header.Set (18 samples, 0.76%) + + + +runtime.sweepone (1 samples, 0.04%) + + + +runtime.(*mcache).nextFree.func1 (4 samples, 0.17%) + + + +github.com/hashicorp/consul/consul.(*inmemCodec).ReadRequestBody (14 samples, 0.59%) + + + +runtime.newMarkBits (1 samples, 0.04%) + + + +runtime.mapassign1 (8 samples, 0.34%) + + + +runtime.memmove (1 samples, 0.04%) + + + +strings.Map (2 samples, 0.08%) + + + +strings.ToLower (5 samples, 0.21%) + + + +runtime.mallocgc (1 samples, 0.04%) + + + +runtime.gcDrainN (1 samples, 0.04%) + + + +runtime.mapdelete (6 samples, 0.25%) + + + +runtime.mallocgc (5 samples, 0.21%) + + + +runtime.deferproc (2 samples, 0.08%) + + + +runtime.pcdatavalue (1 samples, 0.04%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +runtime.gosweepone.func1 (1 samples, 0.04%) + + + +runtime.newobject (7 samples, 0.30%) + + + +runtime.gcAssistAlloc.func1 (2 samples, 0.08%) + + + +runtime.pcdatavalue (18 samples, 0.76%) + + + +runtime.gcAssistAlloc.func1 (1 samples, 0.04%) + + + +runtime.(*mcache).nextFree (1 samples, 0.04%) + + + +runtime.memclr (2 samples, 0.08%) + + + +runtime.systemstack (21 samples, 0.89%) + + + +runtime.growslice (7 samples, 0.30%) + + + +runtime.(*mcache).nextFree (1 samples, 0.04%) + + + +runtime.gchelper (10 samples, 0.42%) + + + +runtime.(*mcache).nextFree (1 samples, 0.04%) + + + +runtime.getitab (4 samples, 0.17%) + + + +syscall.Syscall (2 samples, 0.08%) + + + +runtime.gcmarkwb_m (6 samples, 0.25%) + + + +runtime.scanobject (3 samples, 0.13%) + + + +runtime.gcAssistAlloc.func1 (1 samples, 0.04%) + + + +runtime.findfunc (1 samples, 0.04%) + + + +runtime.mapaccess1_faststr (6 samples, 0.25%) + + + +bufio.(*Reader).ReadSlice (93 samples, 3.92%) +bufi.. + + +runtime.duffzero (1 samples, 0.04%) + + + +runtime.growslice (4 samples, 0.17%) + + + +github.com/hashicorp/consul/vendor/github.com/armon/go-metrics.(*InmemSink).getInterval (10 samples, 0.42%) + + + +runtime.newdefer (1 samples, 0.04%) + + + +runtime.handoff (1 samples, 0.04%) + + + +net/url.shouldEscape (2 samples, 0.08%) + + + +runtime.rawstringtmp (2 samples, 0.08%) + + + +runtime.heapBitsSetType (3 samples, 0.13%) + + + +runtime.gcDrainN (1 samples, 0.04%) + + + +runtime.gchelper (2 samples, 0.08%) + + + +runtime.sweepone (1 samples, 0.04%) + + + +runtime.memclr (2 samples, 0.08%) + + + +runtime.slicebytetostring (57 samples, 2.40%) +ru.. + + +runtime.gcMarkTermination (1 samples, 0.04%) + + + +runtime.convT2E (4 samples, 0.17%) + + + +runtime.typedslicecopy (3 samples, 0.13%) + + + +github.com/hashicorp/consul/vendor/github.com/armon/go-metrics.(*AggregateSample).Ingest (1 samples, 0.04%) + + + +runtime.writebarrierptr (1 samples, 0.04%) + + + +runtime/internal/atomic.Xadd64 (1 samples, 0.04%) + + + +net/url.unescape (1 samples, 0.04%) + + + +runtime.mallocgc (5 samples, 0.21%) + + + +runtime.getfull (1 samples, 0.04%) + + + +runtime.concatstrings (2 samples, 0.08%) + + + +runtime.mapaccess1_faststr (1 samples, 0.04%) + + + +reflect.flag.mustBeExported (2 samples, 0.08%) + + + +runtime.gcAssistAlloc.func1 (1 samples, 0.04%) + + + +reflect.Value.call (242 samples, 10.20%) +reflect.Value.c.. + + +runtime.gentraceback (2 samples, 0.08%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +time.Time.Truncate (1 samples, 0.04%) + + + +net/http.appendTime (6 samples, 0.25%) + + + +runtime.gcmarkwb_m (1 samples, 0.04%) + + + +runtime.mallocgc (2 samples, 0.08%) + + + +runtime.unlock (1 samples, 0.04%) + + + +runtime.scanframeworker (1 samples, 0.04%) + + + +sync/atomic.AddUint32 (1 samples, 0.04%) + + + +runtime.scanobject (2 samples, 0.08%) + + + +reflect.Value.Interface (3 samples, 0.13%) + + + +runtime.(*mheap).alloc.func1 (1 samples, 0.04%) + + + +runtime.(*gcWork).balance (1 samples, 0.04%) + + + +github.com/hashicorp/consul/command/agent.(*HTTPServer).marshalJSON (137 samples, 5.78%) +github... + + +runtime.mapaccess2_faststr (5 samples, 0.21%) + + + +runtime.mapaccess2_faststr (8 samples, 0.34%) + + + +encoding/json.(*structEncoder).(encoding/json.encode)-fm (56 samples, 2.36%) +e.. + + +runtime.scanobject (1 samples, 0.04%) + + + +runtime.gcAssistAlloc (5 samples, 0.21%) + + + +reflect.(*rtype).Kind (1 samples, 0.04%) + + + +fmt.(*pp).handleMethods (15 samples, 0.63%) + + + +runtime.gcstopm (3 samples, 0.13%) + + + +runtime.mallocgc (4 samples, 0.17%) + + + +net/http.(*headerSorter).Less (3 samples, 0.13%) + + + +runtime.gcAssistAlloc.func1 (1 samples, 0.04%) + + + +runtime.mallocgc (1 samples, 0.04%) + + + +runtime.scanstack (8 samples, 0.34%) + + + +runtime.(*mcache).refill (4 samples, 0.17%) + + + +runtime.newobject (1 samples, 0.04%) + + + +runtime/internal/atomic.Cas (1 samples, 0.04%) + + + +net/rpc.(*Server).getResponse (4 samples, 0.17%) + + + +runtime.findfunc (2 samples, 0.08%) + + + +runtime.gcAssistAlloc (1 samples, 0.04%) + + + +runtime.usleep (1 samples, 0.04%) + + + +sync/atomic.CompareAndSwapUint32 (1 samples, 0.04%) + + + +runtime/internal/atomic.Cas (1 samples, 0.04%) + + + +runtime.duffzero (2 samples, 0.08%) + + + +runtime.(*mcache).nextFree.func1 (1 samples, 0.04%) + + + +bytes.makeSlice (3 samples, 0.13%) + + + +reflect.(*rtype).NumIn (2 samples, 0.08%) + + + +runtime.heapBitsSetType (1 samples, 0.04%) + + + +github.com/hashicorp/consul/command/agent.(*HTTPServer).parseDC (28 samples, 1.18%) + + + +runtime.scanstack (1 samples, 0.04%) + + + +runtime.schedule (69 samples, 2.91%) +ru.. + + +runtime.gcMark (1 samples, 0.04%) + + + +runtime.gcAssistAlloc (1 samples, 0.04%) + + + +runtime.mapassign1 (13 samples, 0.55%) + + + +encoding/json.Marshal (96 samples, 4.05%) +enco.. + + +runtime.(*mcache).nextFree (1 samples, 0.04%) + + + +github.com/hashicorp/consul/vendor/github.com/armon/go-metrics.(*InmemSink).IncrCounter (30 samples, 1.26%) + + + +runtime.freedefer (1 samples, 0.04%) + + + +runtime.newdefer (1 samples, 0.04%) + + + +net/textproto.canonicalMIMEHeaderKey (5 samples, 0.21%) + + + +runtime.(*mSpanList).insert (1 samples, 0.04%) + + + +github.com/hashicorp/consul/vendor/github.com/armon/go-metrics.(*InmemSink).AddSample (36 samples, 1.52%) + + + +runtime.mprof_GC (1 samples, 0.04%) + + + +runtime.newMarkBits (1 samples, 0.04%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +bytes.(*Buffer).WriteString (4 samples, 0.17%) + + + +vendor/golang_org/x/net/lex/httplex.ValidHeaderFieldValue (4 samples, 0.17%) + + + +strings.IndexAny (5 samples, 0.21%) + + + +runtime.markroot.func1 (1 samples, 0.04%) + + + +runtime.gcDrainN (1 samples, 0.04%) + + + +runtime.runqget (1 samples, 0.04%) + + + +runtime.gcmarkwb_m (1 samples, 0.04%) + + + +runtime.heapBitsForObject (1 samples, 0.04%) + + + +runtime.typedmemmove (2 samples, 0.08%) + + + +sync/atomic.AddUint32 (2 samples, 0.08%) + + + +runtime.exitsyscall (1 samples, 0.04%) + + + +runtime.mstart1 (10 samples, 0.42%) + + + +runtime.writebarrierptr (1 samples, 0.04%) + + + +runtime.writebarrierptr_nostore1.func1 (1 samples, 0.04%) + + + +runtime.lock (1 samples, 0.04%) + + + +runtime.(*workbuf).checkempty (1 samples, 0.04%) + + + +runtime.rawstringtmp (1 samples, 0.04%) + + + +runtime.writebarrierptr_nostore1 (1 samples, 0.04%) + + + +runtime.deferreturn (3 samples, 0.13%) + + + +runtime.deferproc.func1 (1 samples, 0.04%) + + + +runtime.futex (1 samples, 0.04%) + + + +runtime.(*mheap).alloc (2 samples, 0.08%) + + + +net/textproto.(*Reader).ReadLine (152 samples, 6.41%) +net/text.. + + +runtime.aeshashbody (2 samples, 0.08%) + + + +strings.(*byteReplacer).Replace (4 samples, 0.17%) + + + +runtime.scanobject (1 samples, 0.04%) + + + +runtime/internal/atomic.Cas (2 samples, 0.08%) + + + +runtime.procyield (1 samples, 0.04%) + + + +fmt.newPrinter (9 samples, 0.38%) + + + +runtime.newobject (1 samples, 0.04%) + + + +runtime.newobject (8 samples, 0.34%) + + + +runtime.gcMarkDone (1 samples, 0.04%) + + + +runtime.notewakeup (1 samples, 0.04%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/raft.(*Raft).pipelineSend (2 samples, 0.08%) + + + +sync.(*RWMutex).RLock (1 samples, 0.04%) + + + +time.(*Location).get (1 samples, 0.04%) + + + +runtime.mallocgc (2 samples, 0.08%) + + + +runtime.mallocgc (4 samples, 0.17%) + + + +reflect.memclr (1 samples, 0.04%) + + + +runtime/internal/atomic.Cas (1 samples, 0.04%) + + + +runtime.gcAssistAlloc (1 samples, 0.04%) + + + +runtime.gentraceback (1 samples, 0.04%) + + + +runtime.(*mheap).alloc.func1 (1 samples, 0.04%) + + + +runtime/internal/atomic.Store (2 samples, 0.08%) + + + +runtime.(*mcache).nextFree.func1 (1 samples, 0.04%) + + + +runtime.(*mspan).countFree (1 samples, 0.04%) + + + +runtime.readgstatus (1 samples, 0.04%) + + + +bytes.(*Buffer).WriteByte (1 samples, 0.04%) + + + +runtime.mallocgc (6 samples, 0.25%) + + + +sync.runtime_procUnpin (1 samples, 0.04%) + + + +runtime.mallocgc (2 samples, 0.08%) + + + +runtime.deferreturn.func1 (1 samples, 0.04%) + + + +github.com/hashicorp/consul/command/agent.setIndex (32 samples, 1.35%) + + + +runtime.writebarrierptr_nostore1.func1 (1 samples, 0.04%) + + + +runtime.(*mspan).sweep (1 samples, 0.04%) + + + +runtime.heapBitsBulkBarrier (1 samples, 0.04%) + + + +runtime.memhash (1 samples, 0.04%) + + + +runtime.shade (1 samples, 0.04%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/go-msgpack/codec.(*decFnInfo).kStruct (1 samples, 0.04%) + + + +sync.(*Pool).getSlow (2 samples, 0.08%) + + + +runtime.mapassign1 (13 samples, 0.55%) + + + +reflect.valueInterface (1 samples, 0.04%) + + + +runtime.notesleep (1 samples, 0.04%) + + + +runtime.semacquire (3 samples, 0.13%) + + + +log.(*Logger).Output (55 samples, 2.32%) +l.. + + +runtime/internal/atomic.Xchg (1 samples, 0.04%) + + + +runtime.writebarrierptr_nostore1.func1 (1 samples, 0.04%) + + + +runtime.writebarrierptr_nostore1 (10 samples, 0.42%) + + + +sync.(*Mutex).Lock (2 samples, 0.08%) + + + +runtime.heapBitsBulkBarrier (1 samples, 0.04%) + + + +runtime.mapiternext (1 samples, 0.04%) + + + +time.sendTime (1 samples, 0.04%) + + + +runtime.makeslice (3 samples, 0.13%) + + + +runtime.systemstack (8 samples, 0.34%) + + + +runtime.call64 (201 samples, 8.47%) +runtime.call64 + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/go-memdb.(*Txn).getIndexValue (8 samples, 0.34%) + + + +bytes.makeSlice.func1 (2 samples, 0.08%) + + + +runtime.gopark (2 samples, 0.08%) + + + +reflect.funcLayout (13 samples, 0.55%) + + + +reflect.Value.assignTo (1 samples, 0.04%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/raft.(*Raft).pipelineReplicate (2 samples, 0.08%) + + + +sync.(*Pool).Put (1 samples, 0.04%) + + + +runtime.newobject (8 samples, 0.34%) + + + +runtime.gcDrain (1 samples, 0.04%) + + + +runtime.systemstack (2 samples, 0.08%) + + + +runtime.(*mspan).nextFreeIndex (1 samples, 0.04%) + + + +runtime.findfunc (1 samples, 0.04%) + + + +runtime.casfrom_Gscanstatus (1 samples, 0.04%) + + + +net/http.(*conn).serve (1,979 samples, 83.43%) +net/http.(*conn).serve + + +runtime.cansemacquire (1 samples, 0.04%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +runtime/internal/atomic.Xchg (1 samples, 0.04%) + + + +runtime.writebarrierptr_nostore1 (1 samples, 0.04%) + + + +context.(*cancelCtx).cancel (10 samples, 0.42%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +runtime.mapaccess2_faststr (2 samples, 0.08%) + + + +runtime.(*mcache).nextFree.func1 (2 samples, 0.08%) + + + +reflect.ValueOf (1 samples, 0.04%) + + + +net/url.ParseQuery (36 samples, 1.52%) + + + +runtime.typedmemmove (1 samples, 0.04%) + + + +runtime.(*mheap).freeSpan.func1 (1 samples, 0.04%) + + + +runtime.mapassign1 (1 samples, 0.04%) + + + +runtime.memclr (1 samples, 0.04%) + + + +runtime.readvarint (3 samples, 0.13%) + + + +runtime.systemstack (4 samples, 0.17%) + + + +runtime.scanobject (1 samples, 0.04%) + + + +runtime.sweepone (1 samples, 0.04%) + + + +runtime.memclr (1 samples, 0.04%) + + + +strconv.FormatUint (5 samples, 0.21%) + + + +reflect.Value.Elem (2 samples, 0.08%) + + + +bufio.(*Reader).fill (92 samples, 3.88%) +bufi.. + + +runtime.mallocgc (3 samples, 0.13%) + + + +github.com/hashicorp/consul/logger.(*LogWriter).Write (13 samples, 0.55%) + + + +net/http.(*ServeMux).match (103 samples, 4.34%) +net/h.. + + +runtime.scang (1 samples, 0.04%) + + + +runtime.mapaccess1 (6 samples, 0.25%) + + + +runtime.futex (1 samples, 0.04%) + + + +runtime.typedmemmove (1 samples, 0.04%) + + + +runtime.usleep (5 samples, 0.21%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +net/textproto.canonicalMIMEHeaderKey (13 samples, 0.55%) + + + +net/textproto.MIMEHeader.Set (22 samples, 0.93%) + + + +runtime.restartg (1 samples, 0.04%) + + + +runtime.rawstringtmp (2 samples, 0.08%) + + + +runtime.writebarrierptr_nostore1 (1 samples, 0.04%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/raft.(*netPipeline).decodeResponses (3 samples, 0.13%) + + + +runtime.jmpdefer (1 samples, 0.04%) + + + +runtime.memmove (1 samples, 0.04%) + + + +runtime.writebarrierptr_nostore1 (1 samples, 0.04%) + + + +runtime.gcAssistAlloc (1 samples, 0.04%) + + + +runtime.scanstack (1 samples, 0.04%) + + + +runtime.findfunc (1 samples, 0.04%) + + + +net/textproto.(*Reader).ReadMIMEHeader (95 samples, 4.01%) +net/.. + + +runtime.writebarrierptr (1 samples, 0.04%) + + + +runtime.gcAssistAlloc.func1 (1 samples, 0.04%) + + + +runtime.heapBitsSetType (1 samples, 0.04%) + + + +runtime.makemap (3 samples, 0.13%) + + + +runtime.getcallersp (1 samples, 0.04%) + + + +runtime.(*mheap).alloc_m (2 samples, 0.08%) + + + +runtime.lfstackpop (1 samples, 0.04%) + + + +runtime.newobject (1 samples, 0.04%) + + + +runtime.gcDrain (149 samples, 6.28%) +runtime... + + +net/url.unescape (1 samples, 0.04%) + + + +reflect.ValueOf (1 samples, 0.04%) + + + +runtime.indexbytebody (3 samples, 0.13%) + + + +runtime.mprof_GC (2 samples, 0.08%) + + + +runtime.eqstring (1 samples, 0.04%) + + + +runtime.mallocgc (7 samples, 0.30%) + + + +runtime.memclr (1 samples, 0.04%) + + + +runtime.mapaccess1_faststr (2 samples, 0.08%) + + + +net/http.(*headerSorter).Len (1 samples, 0.04%) + + + +runtime.gcMarkTermination (1 samples, 0.04%) + + + +runtime.mallocgc (7 samples, 0.30%) + + + +net/url.ParseRequestURI (31 samples, 1.31%) + + + +runtime.typedmemmove (1 samples, 0.04%) + + + +runtime.scanobject (1 samples, 0.04%) + + + +runtime.sweepone (1 samples, 0.04%) + + + +reflect.Indirect (2 samples, 0.08%) + + + +runtime.mallocgc (6 samples, 0.25%) + + + +runtime.gcMarkDone (7 samples, 0.30%) + + + +runtime.lock (2 samples, 0.08%) + + + +net/url.(*URL).Query (22 samples, 0.93%) + + + +runtime.stopm (16 samples, 0.67%) + + + +runtime.step (9 samples, 0.38%) + + + +runtime.gcAssistAlloc (1 samples, 0.04%) + + + +reflect.valueInterface (3 samples, 0.13%) + + + +net.runtime_pollReset (2 samples, 0.08%) + + + +net/url.escape (5 samples, 0.21%) + + + +runtime.deferproc (4 samples, 0.17%) + + + +net/textproto.MIMEHeader.Del (4 samples, 0.17%) + + + +runtime.writebarrierptr_nostore1 (1 samples, 0.04%) + + + +runtime.systemstack (1 samples, 0.04%) + + + +runtime.(*mcache).nextFree.func1 (4 samples, 0.17%) + + + +runtime.systemstack (7 samples, 0.30%) + + + +runtime.gcmarkwb_m (1 samples, 0.04%) + + + +runtime.(*mheap).alloc (2 samples, 0.08%) + + + +runtime.scang (2 samples, 0.08%) + + + +reflect.Value.assignTo (6 samples, 0.25%) + + + +net.(*UDPConn).WriteTo (1 samples, 0.04%) + + + +sync.(*Mutex).Unlock (1 samples, 0.04%) + + + +sync.(*Mutex).Lock (1 samples, 0.04%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/go-immutable-radix.(*Txn).Get (8 samples, 0.34%) + + + +runtime.gosweepone.func1 (1 samples, 0.04%) + + + +runtime.trygetfull (1 samples, 0.04%) + + + +runtime.getempty (1 samples, 0.04%) + + + +runtime.runqsteal (4 samples, 0.17%) + + + +runtime.(*gcWork).get (1 samples, 0.04%) + + + +sync.(*Mutex).Unlock (1 samples, 0.04%) + + + +sync/atomic.AddUint32 (1 samples, 0.04%) + + + +runtime.heapBitsSetType (2 samples, 0.08%) + + + +runtime.mallocgc (6 samples, 0.25%) + + + +runtime.gcAssistAlloc (1 samples, 0.04%) + + + +runtime.ifaceeq (1 samples, 0.04%) + + + +bytes.(*Buffer).WriteByte (6 samples, 0.25%) + + + +net/url.(*URL).String (35 samples, 1.48%) + + + +sync.(*RWMutex).Lock (3 samples, 0.13%) + + + +runtime.gcAssistAlloc (1 samples, 0.04%) + + + +runtime.profilealloc (1 samples, 0.04%) + + + +github.com/hashicorp/consul/vendor/github.com/armon/go-metrics.(*InmemSink).flattenKey (18 samples, 0.76%) + + + +log.(*Logger).Printf (105 samples, 4.43%) +log.(.. + + +runtime.memmove (1 samples, 0.04%) + + + +net/url.parseQuery (14 samples, 0.59%) + + + +runtime.gcmarkwb_m (1 samples, 0.04%) + + + +runtime.(*bucket).mp (1 samples, 0.04%) + + + +runtime.entersyscall (9 samples, 0.38%) + + + +runtime.typedmemmove (1 samples, 0.04%) + + + +time.Now (3 samples, 0.13%) + + + +runtime.writebarrierptr (1 samples, 0.04%) + + + +runtime.newobject (4 samples, 0.17%) + + + +runtime.mallocgc (1 samples, 0.04%) + + + +runtime.mapaccess1_faststr (1 samples, 0.04%) + + + +runtime.mallocgc (2 samples, 0.08%) + + + +runtime.makeslice (4 samples, 0.17%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/go-msgpack/codec.(*Decoder).Decode (2 samples, 0.08%) + + + +runtime.mProf_Free (1 samples, 0.04%) + + + +runtime.newobject (3 samples, 0.13%) + + + +net/http.(*Server).doKeepAlives (2 samples, 0.08%) + + + +runtime.wakep (1 samples, 0.04%) + + + +runtime.futex (2 samples, 0.08%) + + + +runtime.schedule (6 samples, 0.25%) + + + +runtime.writebarrierptr_nostore1.func1 (1 samples, 0.04%) + + + +sync.(*Pool).getSlow (3 samples, 0.13%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/go-msgpack/codec.(*Decoder).decodeValue (1 samples, 0.04%) + + + +runtime.newarray (13 samples, 0.55%) + + + +runtime.(*mcache).refill (2 samples, 0.08%) + + + +runtime.rawstringtmp (1 samples, 0.04%) + + + +runtime.gentraceback (2 samples, 0.08%) + + + +runtime.makemap (3 samples, 0.13%) + + + +bytes.(*Buffer).grow (4 samples, 0.17%) + + + +runtime.markrootSpans (3 samples, 0.13%) + + + +github.com/hashicorp/consul/vendor/github.com/hashicorp/go-immutable-radix.(*Node).getEdge (4 samples, 0.17%) + + + +runtime.freedefer (1 samples, 0.04%) + + + +runtime.step (2 samples, 0.08%) + + + +runtime.deferproc.func1 (1 samples, 0.04%) + + + +net/url.QueryUnescape (2 samples, 0.08%) + + + +runtime.rawstring (1 samples, 0.04%) + + + +runtime.concatstring3 (2 samples, 0.08%) + + + +runtime.gcmarkwb_m (1 samples, 0.04%) + + +