Skip to content

Commit

Permalink
docs: add sys/pprof API docs (#7562)
Browse files Browse the repository at this point in the history
* docs: add sys/pprof api docs

* fix header
  • Loading branch information
calvn authored and chrishoffman committed Oct 7, 2019
1 parent f42a2b9 commit 3a07094
Show file tree
Hide file tree
Showing 3 changed files with 144 additions and 0 deletions.
1 change: 1 addition & 0 deletions website/data/api_detailed_categories.yml
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@
- api/system/plugins-catalog.html
- api/system/policy.html
- api/system/policies.html
- api/system/pprof.html
- api/system/raw.html
- api/system/rekey.html
- api/system/rekey-recovery-key.html
Expand Down
142 changes: 142 additions & 0 deletions website/source/api/system/pprof.html.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
---
layout: "api"
page_title: "/sys/pprof - HTTP API"
sidebar_title: "<code>/sys/pprof</code>"
sidebar_current: "api-http-system-pprof"
description: |-
The `/sys/pprof` endpoint is used to query profiling information.
---

# `/sys/pprof`

The `/sys/pprof` endpoint is used to query. The response returned by
these endpoints are equivalent to those returned by the `http/pprof`
package.

## Index

This endpoint returns an HTML page listing the available profiles.

| Method | Path |
|:-------|:--------------|
| `GET` | `/sys/pprof/` |

### Sample Request

```
$ curl \
--header "X-Vault-Token: ..." \
http://127.0.0.1:8200/v1/sys/pprof/
```

## Cmdline

This endpoint returns the running program's command line, with arguments
separated by NUL bytes.

| Method | Path |
|:-------|:---------------------|
| `GET` | `/sys/pprof/cmdline` |

### Sample Request

```
$ curl \
--header "X-Vault-Token: ..." \
http://127.0.0.1:8200/v1/sys/pprof/cmdline
```

## Goroutine

This endpoint returns stack traces of all current goroutines.

| Method | Path |
|:-------|:-----------------------|
| `GET` | `/sys/pprof/goroutine` |

### Sample Request

```
$ curl \
--header "X-Vault-Token: ..." \
http://127.0.0.1:8200/v1/sys/pprof/goroutine
```

## Heap

This endpoint returns a sampling of memory allocations of live object.

| Method | Path |
|:-------|:------------------|
| `GET` | `/sys/pprof/heap` |

### Sample Request

```
$ curl \
--header "X-Vault-Token: ..." \
http://127.0.0.1:8200/v1/sys/pprof/heap
```

## Profile

This endpoint returns a pprof-formatted cpu profile payload. Profiling
lasts for duration specified in seconds GET parameter, or for 30 seconds
if not specified.

| Method | Path |
|:-------|:---------------------|
| `GET` | `/sys/pprof/profile` |

### Parameters

- `seconds` `(int: 30)` - Specifies the duration to run the profiling
command. This value is specified as a query parameter.

### Sample Request

```
$ curl \
--header "X-Vault-Token: ..." \
http://127.0.0.1:8200/v1/sys/pprof/profile
```

## Symbol

This endpoint returns the program counters listed in the request.

| Method | Path |
|:-------|:--------------------|
| `GET` | `/sys/pprof/symbol` |

### Sample Request

```
$ curl \
--header "X-Vault-Token: ..." \
http://127.0.0.1:8200/v1/sys/pprof/symbol
```


## Trace

This endpoint returns the execution trace in binary form. Tracing lasts
for duration specified in seconds GET parameter, or for 1 second if not
specified.

| Method | Path |
|:-------|:-------------------|
| `GET` | `/sys/pprof/trace` |

### Parameters

- `seconds` `(int: 1)` - Specifies the duration to run the tracing
command. This value is specified as a query parameter.

### Sample Request

```
$ curl \
--header "X-Vault-Token: ..." \
http://127.0.0.1:8200/v1/sys/pprof/trace
```
1 change: 1 addition & 0 deletions website/source/layouts/api.erb
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,7 @@
'plugins-catalog',
'policy',
'policies',
'pprof',
'raw',
'rekey',
'rekey-recovery-key',
Expand Down

0 comments on commit 3a07094

Please sign in to comment.