From 75ab9424aaa9dc0f1d6431ae7bdf6b5d08461662 Mon Sep 17 00:00:00 2001 From: Janet Vu Date: Sat, 22 Aug 2020 18:30:04 +0000 Subject: [PATCH 1/8] Restructure ext folder --- examples/zpages/BUILD | 3 +- ext/CMakeLists.txt | 6 ++-- ext/http/CMakeLists.txt | 2 ++ ext/{ => http/server}/BUILD | 0 ext/http/server/CMakeLists.txt | 4 +++ .../ext/http/server/file_http_server.h | 0 .../ext/http/server/http_server.h | 0 .../ext/http/server/socket_tools.h | 0 ext/src/CMakeLists.txt | 1 - ext/src/zpages/BUILD | 28 ------------------- ext/src/zpages/CMakeLists.txt | 12 -------- ext/test/CMakeLists.txt | 1 - ext/zpages/BUILD | 15 ++++++++++ ext/zpages/CMakeLists.txt | 15 ++++++++++ .../ext/zpages/latency_boundaries.h | 0 .../ext/zpages/static/tracez_index.h | 0 .../ext/zpages/static/tracez_script.h | 0 .../ext/zpages/static/tracez_style.h | 0 .../ext/zpages/threadsafe_span_data.h | 0 .../opentelemetry/ext/zpages/tracez_data.h | 0 .../ext/zpages/tracez_data_aggregator.h | 0 .../ext/zpages/tracez_http_server.h | 0 .../ext/zpages/tracez_processor.h | 0 .../include/opentelemetry/ext/zpages/zpages.h | 0 .../ext/zpages/zpages_http_server.h | 0 ext/{src/zpages => zpages/src}/README.md | 0 .../src}/tracez_data_aggregator.cc | 0 .../src}/tracez_http_server.cc | 0 .../zpages => zpages/src}/tracez_processor.cc | 0 ext/{test/zpages => zpages/test}/BUILD | 6 ++-- .../zpages => zpages/test}/CMakeLists.txt | 0 .../test}/threadsafe_span_data_test.cc | 0 .../test}/tracez_data_aggregator_test.cc | 0 .../test}/tracez_processor_test.cc | 0 34 files changed, 42 insertions(+), 51 deletions(-) create mode 100644 ext/http/CMakeLists.txt rename ext/{ => http/server}/BUILD (100%) create mode 100644 ext/http/server/CMakeLists.txt rename ext/{ => http/server}/include/opentelemetry/ext/http/server/file_http_server.h (100%) rename ext/{ => http/server}/include/opentelemetry/ext/http/server/http_server.h (100%) rename ext/{ => http/server}/include/opentelemetry/ext/http/server/socket_tools.h (100%) delete mode 100644 ext/src/CMakeLists.txt delete mode 100644 ext/src/zpages/BUILD delete mode 100644 ext/src/zpages/CMakeLists.txt delete mode 100644 ext/test/CMakeLists.txt create mode 100644 ext/zpages/BUILD create mode 100644 ext/zpages/CMakeLists.txt rename ext/{ => zpages}/include/opentelemetry/ext/zpages/latency_boundaries.h (100%) rename ext/{ => zpages}/include/opentelemetry/ext/zpages/static/tracez_index.h (100%) rename ext/{ => zpages}/include/opentelemetry/ext/zpages/static/tracez_script.h (100%) rename ext/{ => zpages}/include/opentelemetry/ext/zpages/static/tracez_style.h (100%) rename ext/{ => zpages}/include/opentelemetry/ext/zpages/threadsafe_span_data.h (100%) rename ext/{ => zpages}/include/opentelemetry/ext/zpages/tracez_data.h (100%) rename ext/{ => zpages}/include/opentelemetry/ext/zpages/tracez_data_aggregator.h (100%) rename ext/{ => zpages}/include/opentelemetry/ext/zpages/tracez_http_server.h (100%) rename ext/{ => zpages}/include/opentelemetry/ext/zpages/tracez_processor.h (100%) rename ext/{ => zpages}/include/opentelemetry/ext/zpages/zpages.h (100%) rename ext/{ => zpages}/include/opentelemetry/ext/zpages/zpages_http_server.h (100%) rename ext/{src/zpages => zpages/src}/README.md (100%) rename ext/{src/zpages => zpages/src}/tracez_data_aggregator.cc (100%) rename ext/{src/zpages => zpages/src}/tracez_http_server.cc (100%) rename ext/{src/zpages => zpages/src}/tracez_processor.cc (100%) rename ext/{test/zpages => zpages/test}/BUILD (88%) rename ext/{test/zpages => zpages/test}/CMakeLists.txt (100%) rename ext/{test/zpages => zpages/test}/threadsafe_span_data_test.cc (100%) rename ext/{test/zpages => zpages/test}/tracez_data_aggregator_test.cc (100%) rename ext/{test/zpages => zpages/test}/tracez_processor_test.cc (100%) diff --git a/examples/zpages/BUILD b/examples/zpages/BUILD index a277c44810..778c7ffe3a 100644 --- a/examples/zpages/BUILD +++ b/examples/zpages/BUILD @@ -24,8 +24,7 @@ cc_binary( "//conditions:default": ["-pthread"], }), deps = [ - "//ext:headers", - "//ext/src/zpages", + "//ext/zpages", "//sdk/src/trace", ], ) diff --git a/ext/CMakeLists.txt b/ext/CMakeLists.txt index 75205ac71e..1b46c53a08 100644 --- a/ext/CMakeLists.txt +++ b/ext/CMakeLists.txt @@ -1,5 +1,3 @@ -add_subdirectory(src) +add_subdirectory(http) +add_subdirectory(zpages) -if(BUILD_TESTING) - add_subdirectory(test) -endif() diff --git a/ext/http/CMakeLists.txt b/ext/http/CMakeLists.txt new file mode 100644 index 0000000000..b0531d9ab6 --- /dev/null +++ b/ext/http/CMakeLists.txt @@ -0,0 +1,2 @@ +add_subdirectory(server) + diff --git a/ext/BUILD b/ext/http/server/BUILD similarity index 100% rename from ext/BUILD rename to ext/http/server/BUILD diff --git a/ext/http/server/CMakeLists.txt b/ext/http/server/CMakeLists.txt new file mode 100644 index 0000000000..cd4d2cdc4e --- /dev/null +++ b/ext/http/server/CMakeLists.txt @@ -0,0 +1,4 @@ +add_library(http_server INTERFACE) + +target_include_directories(http_server INTERFACE include) + diff --git a/ext/include/opentelemetry/ext/http/server/file_http_server.h b/ext/http/server/include/opentelemetry/ext/http/server/file_http_server.h similarity index 100% rename from ext/include/opentelemetry/ext/http/server/file_http_server.h rename to ext/http/server/include/opentelemetry/ext/http/server/file_http_server.h diff --git a/ext/include/opentelemetry/ext/http/server/http_server.h b/ext/http/server/include/opentelemetry/ext/http/server/http_server.h similarity index 100% rename from ext/include/opentelemetry/ext/http/server/http_server.h rename to ext/http/server/include/opentelemetry/ext/http/server/http_server.h diff --git a/ext/include/opentelemetry/ext/http/server/socket_tools.h b/ext/http/server/include/opentelemetry/ext/http/server/socket_tools.h similarity index 100% rename from ext/include/opentelemetry/ext/http/server/socket_tools.h rename to ext/http/server/include/opentelemetry/ext/http/server/socket_tools.h diff --git a/ext/src/CMakeLists.txt b/ext/src/CMakeLists.txt deleted file mode 100644 index 189a03f69c..0000000000 --- a/ext/src/CMakeLists.txt +++ /dev/null @@ -1 +0,0 @@ -add_subdirectory(zpages) diff --git a/ext/src/zpages/BUILD b/ext/src/zpages/BUILD deleted file mode 100644 index ab9f3507b8..0000000000 --- a/ext/src/zpages/BUILD +++ /dev/null @@ -1,28 +0,0 @@ -# Copyright 2020, OpenTelemetry Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -package(default_visibility = ["//visibility:public"]) - -cc_library( - name = "zpages", - srcs = glob(["**/*.cc"]), - hdrs = glob(["**/*.h"]), - include_prefix = "ext/zpages", - deps = [ - "//api", - "//ext:headers", - "//sdk:headers", - "@github_nlohmann_json//:json", - ], -) diff --git a/ext/src/zpages/CMakeLists.txt b/ext/src/zpages/CMakeLists.txt deleted file mode 100644 index dae0249bf4..0000000000 --- a/ext/src/zpages/CMakeLists.txt +++ /dev/null @@ -1,12 +0,0 @@ -add_library( - opentelemetry_zpages - tracez_processor.cc - tracez_data_aggregator.cc - ../../include/opentelemetry/ext/zpages/tracez_processor.h - ../../include/opentelemetry/ext/zpages/tracez_data_aggregator.h - ../../include/opentelemetry/ext/zpages/tracez_http_server.h) - -target_include_directories(opentelemetry_zpages PUBLIC ../../include) - -target_link_libraries(opentelemetry_zpages opentelemetry_api - opentelemetry_trace) diff --git a/ext/test/CMakeLists.txt b/ext/test/CMakeLists.txt deleted file mode 100644 index 189a03f69c..0000000000 --- a/ext/test/CMakeLists.txt +++ /dev/null @@ -1 +0,0 @@ -add_subdirectory(zpages) diff --git a/ext/zpages/BUILD b/ext/zpages/BUILD new file mode 100644 index 0000000000..df96971b35 --- /dev/null +++ b/ext/zpages/BUILD @@ -0,0 +1,15 @@ +package(default_visibility = ["//visibility:public"]) + +cc_library( + name = "zpages", + srcs = glob(["src/**/*.cc"]), + hdrs = glob(["include/**/*.h"]), + strip_include_prefix = "include", + deps = [ + "//api", + "//ext/http/server:headers", + "//sdk:headers", + "@github_nlohmann_json//:json", + ], +) + diff --git a/ext/zpages/CMakeLists.txt b/ext/zpages/CMakeLists.txt new file mode 100644 index 0000000000..62c3976867 --- /dev/null +++ b/ext/zpages/CMakeLists.txt @@ -0,0 +1,15 @@ +add_library( + opentelemetry_zpages + src/tracez_processor.cc + src/tracez_data_aggregator.cc + src/tracez_http_server.cc +) + +target_include_directories(opentelemetry_zpages PUBLIC include) + +target_link_libraries(opentelemetry_zpages opentelemetry_api + opentelemetry_trace http_server) + +if(BUILD_TESTING) + add_subdirectory(test) +endif() diff --git a/ext/include/opentelemetry/ext/zpages/latency_boundaries.h b/ext/zpages/include/opentelemetry/ext/zpages/latency_boundaries.h similarity index 100% rename from ext/include/opentelemetry/ext/zpages/latency_boundaries.h rename to ext/zpages/include/opentelemetry/ext/zpages/latency_boundaries.h diff --git a/ext/include/opentelemetry/ext/zpages/static/tracez_index.h b/ext/zpages/include/opentelemetry/ext/zpages/static/tracez_index.h similarity index 100% rename from ext/include/opentelemetry/ext/zpages/static/tracez_index.h rename to ext/zpages/include/opentelemetry/ext/zpages/static/tracez_index.h diff --git a/ext/include/opentelemetry/ext/zpages/static/tracez_script.h b/ext/zpages/include/opentelemetry/ext/zpages/static/tracez_script.h similarity index 100% rename from ext/include/opentelemetry/ext/zpages/static/tracez_script.h rename to ext/zpages/include/opentelemetry/ext/zpages/static/tracez_script.h diff --git a/ext/include/opentelemetry/ext/zpages/static/tracez_style.h b/ext/zpages/include/opentelemetry/ext/zpages/static/tracez_style.h similarity index 100% rename from ext/include/opentelemetry/ext/zpages/static/tracez_style.h rename to ext/zpages/include/opentelemetry/ext/zpages/static/tracez_style.h diff --git a/ext/include/opentelemetry/ext/zpages/threadsafe_span_data.h b/ext/zpages/include/opentelemetry/ext/zpages/threadsafe_span_data.h similarity index 100% rename from ext/include/opentelemetry/ext/zpages/threadsafe_span_data.h rename to ext/zpages/include/opentelemetry/ext/zpages/threadsafe_span_data.h diff --git a/ext/include/opentelemetry/ext/zpages/tracez_data.h b/ext/zpages/include/opentelemetry/ext/zpages/tracez_data.h similarity index 100% rename from ext/include/opentelemetry/ext/zpages/tracez_data.h rename to ext/zpages/include/opentelemetry/ext/zpages/tracez_data.h diff --git a/ext/include/opentelemetry/ext/zpages/tracez_data_aggregator.h b/ext/zpages/include/opentelemetry/ext/zpages/tracez_data_aggregator.h similarity index 100% rename from ext/include/opentelemetry/ext/zpages/tracez_data_aggregator.h rename to ext/zpages/include/opentelemetry/ext/zpages/tracez_data_aggregator.h diff --git a/ext/include/opentelemetry/ext/zpages/tracez_http_server.h b/ext/zpages/include/opentelemetry/ext/zpages/tracez_http_server.h similarity index 100% rename from ext/include/opentelemetry/ext/zpages/tracez_http_server.h rename to ext/zpages/include/opentelemetry/ext/zpages/tracez_http_server.h diff --git a/ext/include/opentelemetry/ext/zpages/tracez_processor.h b/ext/zpages/include/opentelemetry/ext/zpages/tracez_processor.h similarity index 100% rename from ext/include/opentelemetry/ext/zpages/tracez_processor.h rename to ext/zpages/include/opentelemetry/ext/zpages/tracez_processor.h diff --git a/ext/include/opentelemetry/ext/zpages/zpages.h b/ext/zpages/include/opentelemetry/ext/zpages/zpages.h similarity index 100% rename from ext/include/opentelemetry/ext/zpages/zpages.h rename to ext/zpages/include/opentelemetry/ext/zpages/zpages.h diff --git a/ext/include/opentelemetry/ext/zpages/zpages_http_server.h b/ext/zpages/include/opentelemetry/ext/zpages/zpages_http_server.h similarity index 100% rename from ext/include/opentelemetry/ext/zpages/zpages_http_server.h rename to ext/zpages/include/opentelemetry/ext/zpages/zpages_http_server.h diff --git a/ext/src/zpages/README.md b/ext/zpages/src/README.md similarity index 100% rename from ext/src/zpages/README.md rename to ext/zpages/src/README.md diff --git a/ext/src/zpages/tracez_data_aggregator.cc b/ext/zpages/src/tracez_data_aggregator.cc similarity index 100% rename from ext/src/zpages/tracez_data_aggregator.cc rename to ext/zpages/src/tracez_data_aggregator.cc diff --git a/ext/src/zpages/tracez_http_server.cc b/ext/zpages/src/tracez_http_server.cc similarity index 100% rename from ext/src/zpages/tracez_http_server.cc rename to ext/zpages/src/tracez_http_server.cc diff --git a/ext/src/zpages/tracez_processor.cc b/ext/zpages/src/tracez_processor.cc similarity index 100% rename from ext/src/zpages/tracez_processor.cc rename to ext/zpages/src/tracez_processor.cc diff --git a/ext/test/zpages/BUILD b/ext/zpages/test/BUILD similarity index 88% rename from ext/test/zpages/BUILD rename to ext/zpages/test/BUILD index 07c287d2fa..939a7e770f 100644 --- a/ext/test/zpages/BUILD +++ b/ext/zpages/test/BUILD @@ -4,7 +4,7 @@ cc_test( "threadsafe_span_data_test.cc", ], deps = [ - "//ext/src/zpages", + "//ext/zpages", "//sdk/src/trace", "@com_google_googletest//:gtest_main", ], @@ -16,7 +16,7 @@ cc_test( "tracez_data_aggregator_test.cc", ], deps = [ - "//ext/src/zpages", + "//ext/zpages", "//sdk/src/trace", "@com_google_googletest//:gtest_main", ], @@ -28,7 +28,7 @@ cc_test( "tracez_processor_test.cc", ], deps = [ - "//ext/src/zpages", + "//ext/zpages", "//sdk/src/trace", "@com_google_googletest//:gtest_main", ], diff --git a/ext/test/zpages/CMakeLists.txt b/ext/zpages/test/CMakeLists.txt similarity index 100% rename from ext/test/zpages/CMakeLists.txt rename to ext/zpages/test/CMakeLists.txt diff --git a/ext/test/zpages/threadsafe_span_data_test.cc b/ext/zpages/test/threadsafe_span_data_test.cc similarity index 100% rename from ext/test/zpages/threadsafe_span_data_test.cc rename to ext/zpages/test/threadsafe_span_data_test.cc diff --git a/ext/test/zpages/tracez_data_aggregator_test.cc b/ext/zpages/test/tracez_data_aggregator_test.cc similarity index 100% rename from ext/test/zpages/tracez_data_aggregator_test.cc rename to ext/zpages/test/tracez_data_aggregator_test.cc diff --git a/ext/test/zpages/tracez_processor_test.cc b/ext/zpages/test/tracez_processor_test.cc similarity index 100% rename from ext/test/zpages/tracez_processor_test.cc rename to ext/zpages/test/tracez_processor_test.cc From d67f20ed92d7950b02aa2c8e85aaec36ffdc0034 Mon Sep 17 00:00:00 2001 From: Janet Vu Date: Sat, 22 Aug 2020 19:01:10 +0000 Subject: [PATCH 2/8] Compile CMake correctly, json cmake todo --- ext/zpages/CMakeLists.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ext/zpages/CMakeLists.txt b/ext/zpages/CMakeLists.txt index 62c3976867..0b245b10fa 100644 --- a/ext/zpages/CMakeLists.txt +++ b/ext/zpages/CMakeLists.txt @@ -2,7 +2,8 @@ add_library( opentelemetry_zpages src/tracez_processor.cc src/tracez_data_aggregator.cc - src/tracez_http_server.cc + # TODO: add Cmake build for nlohmann JSON + # src/tracez_http_server.cc ) target_include_directories(opentelemetry_zpages PUBLIC include) From d05de6c88d47f579568545e05f9c8165c8b5922a Mon Sep 17 00:00:00 2001 From: Janet Vu Date: Sat, 22 Aug 2020 19:04:32 +0000 Subject: [PATCH 3/8] Move and update zPages README --- ext/zpages/README.md | 27 ++++++++++++++++++++++++ ext/zpages/src/README.md | 45 ---------------------------------------- 2 files changed, 27 insertions(+), 45 deletions(-) create mode 100644 ext/zpages/README.md delete mode 100644 ext/zpages/src/README.md diff --git a/ext/zpages/README.md b/ext/zpages/README.md new file mode 100644 index 0000000000..2ca715ed77 --- /dev/null +++ b/ext/zpages/README.md @@ -0,0 +1,27 @@ +# zPages +## Overview +zPages are a quick and light way to view tracing and metrics information on standard OpenTelemetry C++ instrumented applications. It requires no external dependencies. See more information in the OTel zPages experimental [spec](https://github.com/open-telemetry/opentelemetry-specification/blob/5b86d4b6c42e6d1e47d9155ac1e2e27f0f0b7769/experimental/trace/zpages.md). + +# Usage +> TODO: Add CMake instructions + +1. Add the following 2 lines of code + - `#include opentelemetry/ext/zpages/zpages.h // include zPages` + - `zpages::Initialize; // start up zPages in your app, before any tracing/span code` +2. Build and run your application normally + - For example, you can do this for the zPages example while at the root `opentelemetry-cpp` directory with: + ``` + bazel build //examples/zpages:zpages_example + bazel-bin/examples/zpages/zpages_example + ``` + If you look at the zPages example's source [code](https://github.com/open-telemetry/opentelemetry-cpp/blob/master/examples/zpages/zpages_example.cc), it demonstrates adding zPages, manual application instrumentation (which sends data to zPages for viewing), and simulated use cases for zPages. +3. View zPages ib http://localhost:3000/tracez + + +## More Information +- OTel zPages experimental [spec](https://github.com/open-telemetry/opentelemetry-specification/blob/5b86d4b6c42e6d1e47d9155ac1e2e27f0f0b7769/experimental/trace/zpages.md) +- [zPages General Direction Spec (OTEP)](https://github.com/open-telemetry/oteps/blob/master/text/0110-z-pages.md) +- OTel C++ Design Docs + - [Tracez Span Processor](https://docs.google.com/document/d/1kO4iZARYyr-EGBlY2VNM3ELU3iw6ZrC58Omup_YT-fU/edit#) + - [Tracez Data Aggregator](https://docs.google.com/document/d/1ziKFgvhXFfRXZjOlAHQRR-TzcNcTXzg1p2I9oPCEIoU/edit?ts=5ef0d177#heading=h.5irk4csrpu0y) + - [Tracez Http Server](https://docs.google.com/document/d/1U1V8QZ5LtGl4Mich-aJ6KZGLHrMIE8pWyspmzvnIefI/edit#) - also includes reference pictures diff --git a/ext/zpages/src/README.md b/ext/zpages/src/README.md deleted file mode 100644 index 8e8fed394a..0000000000 --- a/ext/zpages/src/README.md +++ /dev/null @@ -1,45 +0,0 @@ -# zPages - -## Table of Contents -- [Summary](#summary) - - [TraceZ](#tracez) - - [RPCz](#rpcz) -- [Usage](#usage) -- [Links of Interest](#links-of-interest) - -## Summary -zPages allow easy viewing of tracing information. When included for a process, zPages will display basic information about that process on a webpage. Two types of zPages include TraceZ and RPCz. - -Including a zPage within a page is useful for developers because it's quicker to get running than adding extra code and installing external exporters like Jaeger and Zipkin. zPages tend to be more lightweight than these external exporters, but are also helpful for debugging latency issues (slow parts of applications) and deadlocks (running spans that don't end). - -The idea of "zPages" originates from one of OpenTelemetry's predecessors, [OpenCensus](https://opencensus.io/). You can read more about it [here](https://opencensus.io/zpages). OpenCensus has different zPage implementations in [Java](https://opencensus.io/zpages/java/), [Go](https://opencensus.io/zpages/go/), and [Node](https://opencensus.io/zpages/node/) and there has been similar internal solutions developed at companies like Uber, but *this is the first major open-source implementation of zPages in C++*. Within OpenTelemetry, zPages are also being developed in [Java](https://github.com/open-telemetry/opentelemetry-java). - -#### How It Works -On a high level, an application creates spans using a Tracer Provider/Tracer who passes them to a Span Processor, which exports spans to the appropriate Data Aggregator that a Http Server displays information for. - -> TODO: Add picture examples for span overview and individual span view - -### TraceZ -TraceZ is a type of zPage that shows information on tracing spans, and allows users to look closer at specific and individual spans. Details a user would view include span id, name, status, and timestamps. The individual components of TraceZ are as follows: - -- TracezSpanProcessor (TSP) - - A tracer/tracer provider (which the user chooses) creates spans, which connects to TSP so that TraceZ to detect spans. The TSP then stores tracing information in running and completed containers and provides an interface for TDA to access their information. -- TracezDataAggregator (TDA) - - Intermediary between the TSP and THS, which also performs various functions and calculations (mainly grouping spans by their names and latency times) to send the correct tracing information to the THS. -- TracezHttpServer (THS) - - User-facing web page generator, which creates HTML pages using TDA that display 1) overall information and trends on all of the process's spans and 2) more detailed information on specific spans when clicked. - -### RPCz -RPCz is a type of zPage that provides details on instrumented sent and received RPC messages. Although there is currently no ongoing development of RPCz for OpenTelemetry, OpenCensus zPages have implementations of RPCz (linked above). - -# Usage - -> TODO: Add instructions to add zPages - -## Links of Interest -- [TracezSpanProcessor Design Doc](https://docs.google.com/document/d/1kO4iZARYyr-EGBlY2VNM3ELU3iw6ZrC58Omup_YT-fU/edit#) (pending review) -- [TracezDataAggregator Design Doc](https://docs.google.com/document/d/1ziKFgvhXFfRXZjOlAHQRR-TzcNcTXzg1p2I9oPCEIoU/edit?ts=5ef0d177#heading=h.5irk4csrpu0y) (pending review) -- [TracezHttpServer Design Doc](https://docs.google.com/document/d/1U1V8QZ5LtGl4Mich-aJ6KZGLHrMIE8pWyspmzvnIefI/edit#) (draft) -- [zPages General Direction Spec](https://github.com/open-telemetry/oteps/blob/master/text/0110-z-pages.md) -- [Prospective Fields Displayed by - TraceZ](https://github.com/open-telemetry/opentelemetry-cpp/blob/master/sdk/include/opentelemetry/sdk/trace/span_data.h) From 69c72d9b8e97725839e4d0729282b0880e33e1d1 Mon Sep 17 00:00:00 2001 From: Janet Vu Date: Sat, 22 Aug 2020 19:22:51 +0000 Subject: [PATCH 4/8] Update README to whats in #288 --- ext/zpages/README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ext/zpages/README.md b/ext/zpages/README.md index 2ca715ed77..40df3d94f1 100644 --- a/ext/zpages/README.md +++ b/ext/zpages/README.md @@ -24,4 +24,5 @@ zPages are a quick and light way to view tracing and metrics information on stan - OTel C++ Design Docs - [Tracez Span Processor](https://docs.google.com/document/d/1kO4iZARYyr-EGBlY2VNM3ELU3iw6ZrC58Omup_YT-fU/edit#) - [Tracez Data Aggregator](https://docs.google.com/document/d/1ziKFgvhXFfRXZjOlAHQRR-TzcNcTXzg1p2I9oPCEIoU/edit?ts=5ef0d177#heading=h.5irk4csrpu0y) - - [Tracez Http Server](https://docs.google.com/document/d/1U1V8QZ5LtGl4Mich-aJ6KZGLHrMIE8pWyspmzvnIefI/edit#) - also includes reference pictures + - [Tracez Http Server](https://docs.google.com/document/d/1U1V8QZ5LtGl4Mich-aJ6KZGLHrMIE8pWyspmzvnIefI/edit#) - also includes reference picturesof zPages/Tracez UI + From 64f4beabca8c671533ed53ed6e4d7f7f9de02b18 Mon Sep 17 00:00:00 2001 From: Janet Vu Date: Sat, 22 Aug 2020 19:27:29 +0000 Subject: [PATCH 5/8] Run formatter --- ext/CMakeLists.txt | 1 - ext/http/CMakeLists.txt | 1 - ext/http/server/CMakeLists.txt | 1 - ext/zpages/BUILD | 1 - ext/zpages/CMakeLists.txt | 4 +--- 5 files changed, 1 insertion(+), 7 deletions(-) diff --git a/ext/CMakeLists.txt b/ext/CMakeLists.txt index 1b46c53a08..8d4e62acef 100644 --- a/ext/CMakeLists.txt +++ b/ext/CMakeLists.txt @@ -1,3 +1,2 @@ add_subdirectory(http) add_subdirectory(zpages) - diff --git a/ext/http/CMakeLists.txt b/ext/http/CMakeLists.txt index b0531d9ab6..9a84b352a6 100644 --- a/ext/http/CMakeLists.txt +++ b/ext/http/CMakeLists.txt @@ -1,2 +1 @@ add_subdirectory(server) - diff --git a/ext/http/server/CMakeLists.txt b/ext/http/server/CMakeLists.txt index cd4d2cdc4e..0b422b5d6a 100644 --- a/ext/http/server/CMakeLists.txt +++ b/ext/http/server/CMakeLists.txt @@ -1,4 +1,3 @@ add_library(http_server INTERFACE) target_include_directories(http_server INTERFACE include) - diff --git a/ext/zpages/BUILD b/ext/zpages/BUILD index df96971b35..4937379edc 100644 --- a/ext/zpages/BUILD +++ b/ext/zpages/BUILD @@ -12,4 +12,3 @@ cc_library( "@github_nlohmann_json//:json", ], ) - diff --git a/ext/zpages/CMakeLists.txt b/ext/zpages/CMakeLists.txt index 0b245b10fa..8690cbd3fd 100644 --- a/ext/zpages/CMakeLists.txt +++ b/ext/zpages/CMakeLists.txt @@ -1,7 +1,5 @@ add_library( - opentelemetry_zpages - src/tracez_processor.cc - src/tracez_data_aggregator.cc + opentelemetry_zpages src/tracez_processor.cc src/tracez_data_aggregator.cc # TODO: add Cmake build for nlohmann JSON # src/tracez_http_server.cc ) From 0c5b994b3c0b58a04df47565b052d19663bb2601 Mon Sep 17 00:00:00 2001 From: Janet Vu Date: Mon, 24 Aug 2020 16:46:08 +0000 Subject: [PATCH 6/8] Add more TODOs --- ext/zpages/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/zpages/README.md b/ext/zpages/README.md index 40df3d94f1..8d44aa15f5 100644 --- a/ext/zpages/README.md +++ b/ext/zpages/README.md @@ -1,6 +1,6 @@ # zPages ## Overview -zPages are a quick and light way to view tracing and metrics information on standard OpenTelemetry C++ instrumented applications. It requires no external dependencies. See more information in the OTel zPages experimental [spec](https://github.com/open-telemetry/opentelemetry-specification/blob/5b86d4b6c42e6d1e47d9155ac1e2e27f0f0b7769/experimental/trace/zpages.md). +zPages are a quick and light way to view tracing and metrics information on standard OpenTelemetry C++ instrumented applications. It requires no external dependencies or backend setup. See more information in the OTel zPages experimental [spec](https://github.com/open-telemetry/opentelemetry-specification/blob/5b86d4b6c42e6d1e47d9155ac1e2e27f0f0b7769/experimental/trace/zpages.md). OTel C++ currently omly offers Tracez; future zPages to potentially add include TraceConfigz, RPCz, and Statsz. # Usage > TODO: Add CMake instructions From 1e5c7a3d6c4f51df0564e4b2e1e60a0fc1beec61 Mon Sep 17 00:00:00 2001 From: Janet Vu Date: Mon, 24 Aug 2020 16:48:17 +0000 Subject: [PATCH 7/8] Fix typo --- ext/zpages/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ext/zpages/README.md b/ext/zpages/README.md index 8d44aa15f5..36decdcbd6 100644 --- a/ext/zpages/README.md +++ b/ext/zpages/README.md @@ -1,6 +1,6 @@ # zPages ## Overview -zPages are a quick and light way to view tracing and metrics information on standard OpenTelemetry C++ instrumented applications. It requires no external dependencies or backend setup. See more information in the OTel zPages experimental [spec](https://github.com/open-telemetry/opentelemetry-specification/blob/5b86d4b6c42e6d1e47d9155ac1e2e27f0f0b7769/experimental/trace/zpages.md). OTel C++ currently omly offers Tracez; future zPages to potentially add include TraceConfigz, RPCz, and Statsz. +zPages are a quick and light way to view tracing and metrics information on standard OpenTelemetry C++ instrumented applications. It requires no external dependencies or backend setup. See more information in the OTel zPages experimental [spec](https://github.com/open-telemetry/opentelemetry-specification/blob/5b86d4b6c42e6d1e47d9155ac1e2e27f0f0b7769/experimental/trace/zpages.md). OTel C++ currently only offers Tracez; future zPages to potentially add include TraceConfigz, RPCz, and Statsz. # Usage > TODO: Add CMake instructions @@ -15,7 +15,7 @@ zPages are a quick and light way to view tracing and metrics information on stan bazel-bin/examples/zpages/zpages_example ``` If you look at the zPages example's source [code](https://github.com/open-telemetry/opentelemetry-cpp/blob/master/examples/zpages/zpages_example.cc), it demonstrates adding zPages, manual application instrumentation (which sends data to zPages for viewing), and simulated use cases for zPages. -3. View zPages ib http://localhost:3000/tracez +3. View zPages at http://localhost:3000/tracez ## More Information From 5c6c5f8ec557f9b6d965b240ff1cba0dd76e843a Mon Sep 17 00:00:00 2001 From: Janet Vu Date: Mon, 24 Aug 2020 22:05:20 +0000 Subject: [PATCH 8/8] Update tracez todo in readme --- ext/zpages/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/zpages/README.md b/ext/zpages/README.md index 36decdcbd6..ef99fed913 100644 --- a/ext/zpages/README.md +++ b/ext/zpages/README.md @@ -1,6 +1,6 @@ # zPages ## Overview -zPages are a quick and light way to view tracing and metrics information on standard OpenTelemetry C++ instrumented applications. It requires no external dependencies or backend setup. See more information in the OTel zPages experimental [spec](https://github.com/open-telemetry/opentelemetry-specification/blob/5b86d4b6c42e6d1e47d9155ac1e2e27f0f0b7769/experimental/trace/zpages.md). OTel C++ currently only offers Tracez; future zPages to potentially add include TraceConfigz, RPCz, and Statsz. +zPages are a quick and light way to view tracing and metrics information on standard OpenTelemetry C++ instrumented applications. It requires no external dependencies or backend setup. See more information in the OTel zPages experimental [spec](https://github.com/open-telemetry/opentelemetry-specification/blob/5b86d4b6c42e6d1e47d9155ac1e2e27f0f0b7769/experimental/trace/zpages.md). OTel C++ currently only offers Tracez; future zPages to potentially add include TraceConfigz, RPCz, and Statsz. Events and links need to be added to Tracez. # Usage > TODO: Add CMake instructions