summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIlya Shakhat <shakhat@gmail.com>2018-10-16 18:03:09 +0200
committerIlya Shakhat <shakhat@gmail.com>2018-11-23 17:47:52 +0100
commit0b878cfd24aef2ff4604c697bf39339c84accc78 (patch)
tree99081c20b29a7d9acd47baeb1c186cd102b2c3cc
parent48a3de18f81f7ee5b4c12931d1d344232900dcd3 (diff)
downloadosprofiler-0b878cfd24aef2ff4604c697bf39339c84accc78.tar.gz
Configure Jaeger collector in DevStack
This patch adds a new type of collector "jaeger". To try this patch out add following lines into local.conf: enable_plugin osprofiler https://git.openstack.org/openstack/osprofiler refs/changes/67/611067/4 OSPROFILER_BRANCH=refs/changes/67/611067/4 OSPROFILER_COLLECTOR=jaeger Jaeger UI can be accessed on port 16686. Change-Id: I29031764290106570a1d358f6fd653c5367ca587
-rw-r--r--devstack/README.rst2
-rw-r--r--devstack/lib/osprofiler16
-rw-r--r--devstack/plugin.sh2
3 files changed, 19 insertions, 1 deletions
diff --git a/devstack/README.rst b/devstack/README.rst
index 2d4ceab..2fcdc1b 100644
--- a/devstack/README.rst
+++ b/devstack/README.rst
@@ -16,6 +16,7 @@ that control this:
* ``<empty>`` - default messaging driver is used
* ``redis`` - Redis is installed
+ * ``jaeger`` - Jaeger is installed
The default value of ``OSPROFILER_CONNECTION_STRING`` is set automatically
depending on ``OSPROFILER_COLLECTOR`` value.
@@ -29,6 +30,7 @@ that control this:
* ``elasticsearch://host:port`` - use Elasticsearch as trace storage
* ``mongodb://host:port`` - use MongoDB as trace storage
* ``loginsight://username:password@host`` - use LogInsight as trace collector/storage
+ * ``jaeger://host:port`` - use Jaeger as trace collector
To configure DevStack and enable OSProfiler edit ``${DEVSTACK_DIR}/local.conf``
diff --git a/devstack/lib/osprofiler b/devstack/lib/osprofiler
index cd73a4e..0627372 100644
--- a/devstack/lib/osprofiler
+++ b/devstack/lib/osprofiler
@@ -56,12 +56,28 @@ function install_redis() {
pip_install_gr redis
}
+function install_jaeger() {
+ if is_ubuntu; then
+ install_package docker.io
+ start_service docker
+ add_user_to_group stack docker
+ sg docker -c "docker run -d --name jaeger -p 6831:6831/udp -p 16686:16686 jaegertracing/all-in-one:1.7"
+ else
+ exit_distro_not_supported "docker.io installation"
+ fi
+
+ pip_install jaeger-client
+}
+
function install_osprofiler_collector() {
if [ -z "$OSPROFILER_COLLECTOR" ]; then
OSPROFILER_CONNECTION_STRING=${OSPROFILER_CONNECTION_STRING:-"messaging://"}
elif [ "$OSPROFILER_COLLECTOR" == "redis" ]; then
install_redis
OSPROFILER_CONNECTION_STRING=${OSPROFILER_CONNECTION_STRING:-"redis://localhost:6379"}
+ elif [ "$OSPROFILER_COLLECTOR" == "jaeger" ]; then
+ install_jaeger
+ OSPROFILER_CONNECTION_STRING=${OSPROFILER_CONNECTION_STRING:-"jaeger://localhost:6831"}
else
die $LINENO "OSProfiler collector $OSPROFILER_COLLECTOR is not supported"
fi
diff --git a/devstack/plugin.sh b/devstack/plugin.sh
index b2b6b6d..600c86e 100644
--- a/devstack/plugin.sh
+++ b/devstack/plugin.sh
@@ -7,7 +7,7 @@ set -o xtrace
source $DEST/osprofiler/devstack/lib/osprofiler
-if [[ "$1" == "stack" && "$2" == "pre-install" ]]; then
+if [[ "$1" == "stack" && "$2" == "install" ]]; then
echo_summary "Configuring system services for OSProfiler"
install_osprofiler_collector