diff --git a/README.md b/README.md index 5edf01042..837d109dd 100644 --- a/README.md +++ b/README.md @@ -259,6 +259,19 @@ kubectl create -f scope-app-svc.yaml # Only if you want to run Scope in Standalo kubectl create -f scope-probe-ds.yaml ``` +## Scope Probe Plugins + +Scope allows you to create plugins generating custom +metrics. Those metrics will be displayed in the Scope UI. + +Here is an annotated screenshot of Scope while executing a plugin which extracts +incoming HTTP request rates of your application without instrumenting it. + +Scope Probe plugin screenshot + + +You can read more about Scope Probe plugins and find some examples +[here](https://github.com/weaveworks/scope/tree/master/examples/plugins). ## Developing diff --git a/examples/plugins/README.md b/examples/plugins/README.md index 0dd417af4..2cec47958 100644 --- a/examples/plugins/README.md +++ b/examples/plugins/README.md @@ -1,4 +1,24 @@ -# Scope Plugins +# Scope Probe Plugins + +Scope probe plugins let you insert your own custom metrics into Scope and get them displayed in the UI. + +You can find some examples at the +[the example plugins](https://github.com/weaveworks/scope/tree/master/examples/plugins) +directory. We currently provide two examples: +* A + [Python plugin](https://github.com/weaveworks/scope/tree/master/examples/plugins/http-requests) + using [bcc](http://iovisor.github.io/bcc/) to extract incoming HTTP request + rates per process, without any application-level instrumentation requirements. +* A + [Go plugin](https://github.com/weaveworks/scope/tree/master/examples/plugins/iovisor), + using [iostat](https://en.wikipedia.org/wiki/Iostat) to provide host-level CPU IO wait + metrics. + +The example plugins can be run by calling `make` in their directory. +This will build the plugin, and immediately run it in the foreground. +To run the plugin in the background, see the `Makefile` for examples +of the `docker run ...` command. + ## Protocol @@ -13,8 +33,6 @@ reports from it via `GET /report`. All plugin endpoints are expected to respond within 500ms, and respond in the JSON format. -For more information see [the example plugins.](https://github.com/weaveworks/scope/tree/master/example/plugins) - ### Report When the scope probe discovers a new plugin unix socket it will begin diff --git a/imgs/plugin.png b/imgs/plugin.png new file mode 100644 index 000000000..1ef701c48 Binary files /dev/null and b/imgs/plugin.png differ