From 95da4aea60cf6644c5f4827df7f7fead0cace449 Mon Sep 17 00:00:00 2001 From: Laurent Querel Date: Sun, 14 Mar 2021 10:09:41 -0700 Subject: [PATCH 001/130] Intro + Motivation sections --- text/0000-multivariate-timeseries.md | 77 ++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 text/0000-multivariate-timeseries.md diff --git a/text/0000-multivariate-timeseries.md b/text/0000-multivariate-timeseries.md new file mode 100644 index 000000000..9578ee9cf --- /dev/null +++ b/text/0000-multivariate-timeseries.md @@ -0,0 +1,77 @@ +# Multivariate time-series + +Generalization of the metrics data model (currently univariate) to support multivariate time-series. + +## Motivation + +A Multivariate time series has more than one time-dependent variable. Each variable depends not only on its past values but also has +some dependency on other variables. A 3 axis accelerometer reporting 3 metrics simultaneously, a meteorological weather station reporting +temperature, cloud cover, dew point, humidity and wind speed, an http transaction chararterized by many related metrics sharing the same +labels, ... are all common examples of multivariate time-series. + +With the current version of the OpenTelemetry protocol we force users to transform these multivariate time-series into a collection of +univariate time-series instead of keeping end-to-end an efficient multivariate representation. + +A transport layer should not constrain such a radical change of representation as the implications are so important, to name a few: +* It's straighforward to translate a multivariate time-series into a collection of univariate time-series but the opposite is much more +complex to do at scale. To rebuild a multivariate from a set of univariate time-series you need to join potentially dozens of time-series +together. On a distributed backend environment, it's involve a lot of data movement, complex logic to deal with missing data points, some +form of join computation, ... +* This transformation enforced by the protocol has also strong implications on the queries. Each query on a multivariate time-series will +involve a set of joins. The discoverability of data becomes more complex as every univariate time-series are independent. A data catalog +will not magically discover these relationships. +* This transformation involves a lot of redundant informations. All the labels must be redeclared for each univariate time-series. It's +not only more work for the developer but it's also less efficient. Even with a good compression algorithm, a such transformation will be +much more computationally intensive and slightly less efficient in term of compression ratio. +* This transformation makes simple filtering and aggregation on multivariate time-series much more complex in the OpenTelemetry processor +layer. This has the potential to transform stateless processors into statefull/complex processors. For example, a user wants to report +http transaction where dns-latency + tcp-con-latency + ssl-handshake-latency + content-transfer-latency + server-processing-latency greater +than 2s. Defining this expression on a multivariate time-series and implementing it with a processor multivariate compatible will be +straightforward and stateless. With a collection of univariate time-series it's a different story at every level and it's not going in +the direction of a stateless architecture. + +## Explanation + +[TBD] +Explain the proposed change as though it was already implemented and you were explaining it to a user. Depending on which layer the proposal addresses, the "user" may vary, or there may even be multiple. + +We encourage you to use examples, diagrams, or whatever else makes the most sense! + +Inefficiency, redundant definition of labels +Stateless architecture +Multivariate to univariate is easy but univariate to multivariate is hard +Units +Description + +## Internal details + +[TBD] +From a technical perspective, how do you propose accomplishing the proposal? In particular, please explain: + +* How the change would impact and interact with existing functionality +* Likely error modes (and how to handle them) +* Corner cases (and how to handle them) + +While you do not need to prescribe a particular implementation - indeed, OTEPs should be about **behaviour**, not implementation! - it may be useful to provide at least one suggestion as to how the proposal *could* be implemented. This helps reassure reviewers that implementation is at least possible, and often helps them inspire them to think more deeply about trade-offs, alternatives, etc. + +## Trade-offs and mitigations + +[TBD] +What are some (known!) drawbacks? What are some ways that they might be mitigated? + +Note that mitigations do not need to be complete *solutions*, and that they do not need to be accomplished directly through your proposal. A suggested mitigation may even warrant its own OTEP! + +## Prior art and alternatives + +[TBD] +What are some prior and/or alternative approaches? For instance, is there a corresponding feature in OpenTracing or OpenCensus? What are some ideas that you have rejected? + +## Open questions + +[TBD] +What are some questions that you know aren't resolved yet by the OTEP? These may be questions that could be answered through further discussion, implementation experiments, or anything else that the future may bring. + +## Future possibilities + +[TBD] +What are some future changes that this proposal would enable? \ No newline at end of file From aec7656ca4c0f21f03d905d5a1183e68d3a76c7d Mon Sep 17 00:00:00 2001 From: Laurent Querel Date: Sun, 14 Mar 2021 10:29:31 -0700 Subject: [PATCH 002/130] Move 0000-multivariate-timeseries.md in metrics folder --- text/{ => metrics}/0000-multivariate-timeseries.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename text/{ => metrics}/0000-multivariate-timeseries.md (100%) diff --git a/text/0000-multivariate-timeseries.md b/text/metrics/0000-multivariate-timeseries.md similarity index 100% rename from text/0000-multivariate-timeseries.md rename to text/metrics/0000-multivariate-timeseries.md From a3fbdb730fac42e834ac8c6e1303c8efb76f8a17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurent=20Qu=C3=A9rel?= Date: Sun, 14 Mar 2021 10:32:12 -0700 Subject: [PATCH 003/130] Add conclusion to the motivation section --- text/metrics/0000-multivariate-timeseries.md | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/text/metrics/0000-multivariate-timeseries.md b/text/metrics/0000-multivariate-timeseries.md index 9578ee9cf..aa710e35f 100644 --- a/text/metrics/0000-multivariate-timeseries.md +++ b/text/metrics/0000-multivariate-timeseries.md @@ -5,9 +5,9 @@ Generalization of the metrics data model (currently univariate) to support multi ## Motivation A Multivariate time series has more than one time-dependent variable. Each variable depends not only on its past values but also has -some dependency on other variables. A 3 axis accelerometer reporting 3 metrics simultaneously, a meteorological weather station reporting -temperature, cloud cover, dew point, humidity and wind speed, an http transaction chararterized by many related metrics sharing the same -labels, ... are all common examples of multivariate time-series. +some dependency on other variables. A 3 axis accelerometer reporting 3 metrics simultaneously; a meteorological weather station reporting +temperature, cloud cover, dew point, humidity and wind speed; an http transaction chararterized by many related metrics sharing the same +labels are all common examples of multivariate time-series. With the current version of the OpenTelemetry protocol we force users to transform these multivariate time-series into a collection of univariate time-series instead of keeping end-to-end an efficient multivariate representation. @@ -17,7 +17,7 @@ A transport layer should not constrain such a radical change of representation a complex to do at scale. To rebuild a multivariate from a set of univariate time-series you need to join potentially dozens of time-series together. On a distributed backend environment, it's involve a lot of data movement, complex logic to deal with missing data points, some form of join computation, ... -* This transformation enforced by the protocol has also strong implications on the queries. Each query on a multivariate time-series will +* This transformation enforced by the protocol has also strong implications on the data usage. Each query on a multivariate time-series will involve a set of joins. The discoverability of data becomes more complex as every univariate time-series are independent. A data catalog will not magically discover these relationships. * This transformation involves a lot of redundant informations. All the labels must be redeclared for each univariate time-series. It's @@ -30,6 +30,11 @@ than 2s. Defining this expression on a multivariate time-series and implementing straightforward and stateless. With a collection of univariate time-series it's a different story at every level and it's not going in the direction of a stateless architecture. +By generalizing the existing metric data model we can get rid of all these limitations without adding complexity to the protocol. +For backends that do not support multivariate time-series, a simple transformation to univariate time-series will be simple +to implement in their server-side OpenTelemetry endpoints. + + ## Explanation [TBD] @@ -74,4 +79,4 @@ What are some questions that you know aren't resolved yet by the OTEP? These may ## Future possibilities [TBD] -What are some future changes that this proposal would enable? \ No newline at end of file +What are some future changes that this proposal would enable? From 6b550f4e09f211463d2dd162159d7db50dca1f01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurent=20Qu=C3=A9rel?= Date: Sun, 14 Mar 2021 10:52:51 -0700 Subject: [PATCH 004/130] Update 0000-multivariate-timeseries.md Improve conclusion --- text/metrics/0000-multivariate-timeseries.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/text/metrics/0000-multivariate-timeseries.md b/text/metrics/0000-multivariate-timeseries.md index aa710e35f..bb06837f2 100644 --- a/text/metrics/0000-multivariate-timeseries.md +++ b/text/metrics/0000-multivariate-timeseries.md @@ -30,10 +30,11 @@ than 2s. Defining this expression on a multivariate time-series and implementing straightforward and stateless. With a collection of univariate time-series it's a different story at every level and it's not going in the direction of a stateless architecture. -By generalizing the existing metric data model we can get rid of all these limitations without adding complexity to the protocol. -For backends that do not support multivariate time-series, a simple transformation to univariate time-series will be simple -to implement in their server-side OpenTelemetry endpoints. - +By generalizing the existing metric data model we can get rid of all these limitations without adding much complexity to the protocol. +We simplify the implementation of multivariate forecasting and anomaly detection mechanisms. We minimize the risk of seing again a new +telemetry protocol with the only purpose to add a better support for multivariate time-series. Finally, for backends that do not support +multivariate time-series, a simple transformation to univariate time-series will be simple to implement in their server-side +OpenTelemetry endpoints. ## Explanation From 3496ca11caa5b86a15d7baf76dc77661ac7a5ba8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurent=20Qu=C3=A9rel?= Date: Sun, 21 Mar 2021 14:22:18 -0700 Subject: [PATCH 005/130] Updated the "Explanation" section --- text/metrics/0000-multivariate-timeseries.md | 25 +++++++++++++------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/text/metrics/0000-multivariate-timeseries.md b/text/metrics/0000-multivariate-timeseries.md index bb06837f2..7d091a6ae 100644 --- a/text/metrics/0000-multivariate-timeseries.md +++ b/text/metrics/0000-multivariate-timeseries.md @@ -36,19 +36,28 @@ telemetry protocol with the only purpose to add a better support for multivariat multivariate time-series, a simple transformation to univariate time-series will be simple to implement in their server-side OpenTelemetry endpoints. -## Explanation +## Explanation [WIP] + +Current model: +* For a specific resource, an instrumentation library provide a way to report multiple independent metrics. +* For each metric, a name, a description, a unit and a list of data points with their corresponding labels is provided. + +Proposed model: +* For a specific resource, an instrumentation library provide a way to report a collection of multivariate time-series. +* For each multivariate time-series: + * Collection of metadata describing each metric. + * Columnar representation of timestamps, labels, metric values and examplars (all aligned together). + +The benefits of this representation are: +* Labels and timestamps shared between multiple metrics are no longer duplicated. +* Processing operations on multivariate time-series are greatly simplified by keeping labels, metric values and examplars aligned with their corresponding timestamps. It becomes straighforward: + * to store multivariate timeseries without complex pre-processing in the backend. + * to apply filters and transformations on multiple related metrics in the OpenTelemetry processor layer. -[TBD] Explain the proposed change as though it was already implemented and you were explaining it to a user. Depending on which layer the proposal addresses, the "user" may vary, or there may even be multiple. We encourage you to use examples, diagrams, or whatever else makes the most sense! -Inefficiency, redundant definition of labels -Stateless architecture -Multivariate to univariate is easy but univariate to multivariate is hard -Units -Description - ## Internal details [TBD] From 56b3357c61e60997d2bf5c193889fd75eadd3667 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurent=20Qu=C3=A9rel?= Date: Sun, 21 Mar 2021 16:06:43 -0700 Subject: [PATCH 006/130] Added a diagram to present the data model --- text/metrics/0000-multivariate-timeseries.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/text/metrics/0000-multivariate-timeseries.md b/text/metrics/0000-multivariate-timeseries.md index 7d091a6ae..bacef6995 100644 --- a/text/metrics/0000-multivariate-timeseries.md +++ b/text/metrics/0000-multivariate-timeseries.md @@ -54,6 +54,8 @@ The benefits of this representation are: * to store multivariate timeseries without complex pre-processing in the backend. * to apply filters and transformations on multiple related metrics in the OpenTelemetry processor layer. +![Multivariate time-series model](multivariate-time-series-model.png) + Explain the proposed change as though it was already implemented and you were explaining it to a user. Depending on which layer the proposal addresses, the "user" may vary, or there may even be multiple. We encourage you to use examples, diagrams, or whatever else makes the most sense! From d760154fe981d566299fff838c1f6e70a3a2a356 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurent=20Qu=C3=A9rel?= Date: Sun, 21 Mar 2021 16:08:22 -0700 Subject: [PATCH 007/130] Added diagram --- text/metrics/multivariate-time-series-model.png | Bin 0 -> 32439 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 text/metrics/multivariate-time-series-model.png diff --git a/text/metrics/multivariate-time-series-model.png b/text/metrics/multivariate-time-series-model.png new file mode 100644 index 0000000000000000000000000000000000000000..1e89ac836c4563e0d59366998f0e48961f764cf8 GIT binary patch literal 32439 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 Mj?wjktGA#1AB?bc0ssI2 literal 0 HcmV?d00001 From 589dc8b3b012bfaf9a04032bc60809fc256955bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurent=20Qu=C3=A9rel?= Date: Sun, 21 Mar 2021 16:21:44 -0700 Subject: [PATCH 008/130] Update 0000-multivariate-timeseries.md --- text/metrics/0000-multivariate-timeseries.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/text/metrics/0000-multivariate-timeseries.md b/text/metrics/0000-multivariate-timeseries.md index bacef6995..89c0c5b7c 100644 --- a/text/metrics/0000-multivariate-timeseries.md +++ b/text/metrics/0000-multivariate-timeseries.md @@ -6,7 +6,7 @@ Generalization of the metrics data model (currently univariate) to support multi A Multivariate time series has more than one time-dependent variable. Each variable depends not only on its past values but also has some dependency on other variables. A 3 axis accelerometer reporting 3 metrics simultaneously; a meteorological weather station reporting -temperature, cloud cover, dew point, humidity and wind speed; an http transaction chararterized by many related metrics sharing the same +temperature, cloud cover, dew point, humidity and wind speed; an http transaction chararterized by many interrelated metrics sharing the same labels are all common examples of multivariate time-series. With the current version of the OpenTelemetry protocol we force users to transform these multivariate time-series into a collection of @@ -52,7 +52,7 @@ The benefits of this representation are: * Labels and timestamps shared between multiple metrics are no longer duplicated. * Processing operations on multivariate time-series are greatly simplified by keeping labels, metric values and examplars aligned with their corresponding timestamps. It becomes straighforward: * to store multivariate timeseries without complex pre-processing in the backend. - * to apply filters and transformations on multiple related metrics in the OpenTelemetry processor layer. + * to apply filters and transformations on multiple interrelated metrics in the OpenTelemetry processor layer. ![Multivariate time-series model](multivariate-time-series-model.png) From a51696224f325ab63cafe2bb6b7ac03dad8072d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurent=20Qu=C3=A9rel?= Date: Sun, 21 Mar 2021 16:36:26 -0700 Subject: [PATCH 009/130] Examples of multivariate time-series --- text/metrics/0000-multivariate-timeseries.md | 45 ++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/text/metrics/0000-multivariate-timeseries.md b/text/metrics/0000-multivariate-timeseries.md index 89c0c5b7c..67f1805a6 100644 --- a/text/metrics/0000-multivariate-timeseries.md +++ b/text/metrics/0000-multivariate-timeseries.md @@ -92,3 +92,48 @@ What are some questions that you know aren't resolved yet by the OTEP? These may [TBD] What are some future changes that this proposal would enable? + +## Examples of multivariate time-series +Some classical examples of multivariate time-series in the context of infrastructure monitoring. + +* VM + * Labels + * hostname + * instance-type + * ... + * Metrics + * cpu-usage + * memory-usage + * disk-usage + * disk-operation-per-sec + * network-in + * network-out + * ... +* Processus / POD + * Labels + * pod-id + * pod-labels + * ... + * Metrics + * cpu-usage + * memory-usage + * disk-usage + * disk-operation-per-sec + * network-in + * network-out + * ... +* Http transaction + * Labels + * url + * method + * status + * ... + * Metrics + * dns-latency + * tls-handshake-latency + * tcp-connection-latency + * server-processing-latency + * content-transfer-latency + * request-size + * response-size + * ... From ecf45d2062ab73bd0dd0fde4ab2368b4af8d97b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurent=20Qu=C3=A9rel?= Date: Sun, 21 Mar 2021 16:51:46 -0700 Subject: [PATCH 010/130] Update 0000-multivariate-timeseries.md --- text/metrics/0000-multivariate-timeseries.md | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/text/metrics/0000-multivariate-timeseries.md b/text/metrics/0000-multivariate-timeseries.md index 67f1805a6..adeb4f0b6 100644 --- a/text/metrics/0000-multivariate-timeseries.md +++ b/text/metrics/0000-multivariate-timeseries.md @@ -74,24 +74,28 @@ While you do not need to prescribe a particular implementation - indeed, OTEPs s ## Trade-offs and mitigations [TBD] -What are some (known!) drawbacks? What are some ways that they might be mitigated? +*What are some (known!) drawbacks? What are some ways that they might be mitigated?* -Note that mitigations do not need to be complete *solutions*, and that they do not need to be accomplished directly through your proposal. A suggested mitigation may even warrant its own OTEP! +*Note that mitigations do not need to be complete *solutions*, and that they do not need to be accomplished directly through your proposal. A suggested mitigation may even warrant its own OTEP!* ## Prior art and alternatives -[TBD] -What are some prior and/or alternative approaches? For instance, is there a corresponding feature in OpenTracing or OpenCensus? What are some ideas that you have rejected? +Existing protocols supporting multivariate time-series +* AWS CloudWatch EMF +* InfluxDB line protocol +* The Apache Arrow Flight +* TimescaleDB (PostgreSQL extension) +* Splunk Event Collector ## Open questions -[TBD] -What are some questions that you know aren't resolved yet by the OTEP? These may be questions that could be answered through further discussion, implementation experiments, or anything else that the future may bring. +* Explore the impact of this proposal on the OpenTelementry processor layer. + +*What are some questions that you know aren't resolved yet by the OTEP? These may be questions that could be answered through further discussion, implementation experiments, or anything else that the future may bring.* ## Future possibilities -[TBD] -What are some future changes that this proposal would enable? +* Column encoding to improve compression ratio (delta encoding, dictionary, ...) ## Examples of multivariate time-series Some classical examples of multivariate time-series in the context of infrastructure monitoring. From c809b1be52a9bd72408970d2f0d34b1019f8d81d Mon Sep 17 00:00:00 2001 From: Laurent Querel Date: Mon, 17 May 2021 20:11:31 -0700 Subject: [PATCH 011/130] Update OTEP --- .gitignore | 5 +++++ text/metrics/0000-multivariate-timeseries.md | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 88ba84eef..8d32144a6 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,8 @@ # Text formatting and spelling tools. .tools + + +# Added by cargo + +/target diff --git a/text/metrics/0000-multivariate-timeseries.md b/text/metrics/0000-multivariate-timeseries.md index adeb4f0b6..c20f46639 100644 --- a/text/metrics/0000-multivariate-timeseries.md +++ b/text/metrics/0000-multivariate-timeseries.md @@ -9,8 +9,8 @@ some dependency on other variables. A 3 axis accelerometer reporting 3 metrics s temperature, cloud cover, dew point, humidity and wind speed; an http transaction chararterized by many interrelated metrics sharing the same labels are all common examples of multivariate time-series. -With the current version of the OpenTelemetry protocol we force users to transform these multivariate time-series into a collection of -univariate time-series instead of keeping end-to-end an efficient multivariate representation. +**With the current version of the OpenTelemetry protocol we force users to transform these multivariate time-series into a collection of +univariate time-series instead of keeping end-to-end an efficient multivariate representation.** A transport layer should not constrain such a radical change of representation as the implications are so important, to name a few: * It's straighforward to translate a multivariate time-series into a collection of univariate time-series but the opposite is much more From 150d987df98acc54feb6318428b17addb4380553 Mon Sep 17 00:00:00 2001 From: Laurent Querel Date: Mon, 17 May 2021 20:16:18 -0700 Subject: [PATCH 012/130] Update OTEP --- text/metrics/0000-multivariate-timeseries.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/text/metrics/0000-multivariate-timeseries.md b/text/metrics/0000-multivariate-timeseries.md index c20f46639..5decb0950 100644 --- a/text/metrics/0000-multivariate-timeseries.md +++ b/text/metrics/0000-multivariate-timeseries.md @@ -20,17 +20,17 @@ form of join computation, ... * This transformation enforced by the protocol has also strong implications on the data usage. Each query on a multivariate time-series will involve a set of joins. The discoverability of data becomes more complex as every univariate time-series are independent. A data catalog will not magically discover these relationships. -* This transformation involves a lot of redundant informations. All the labels must be redeclared for each univariate time-series. It's +* **This transformation involves a lot of redundant informations.** All the labels must be redeclared for each univariate time-series. It's not only more work for the developer but it's also less efficient. Even with a good compression algorithm, a such transformation will be -much more computationally intensive and slightly less efficient in term of compression ratio. +much more computationally intensive and less efficient in term of compression ratio. * This transformation makes simple filtering and aggregation on multivariate time-series much more complex in the OpenTelemetry processor layer. This has the potential to transform stateless processors into statefull/complex processors. For example, a user wants to report -http transaction where dns-latency + tcp-con-latency + ssl-handshake-latency + content-transfer-latency + server-processing-latency greater +http transaction where the sum dns-latency + tcp-con-latency + ssl-handshake-latency + content-transfer-latency + server-processing-latency is greater than 2s. Defining this expression on a multivariate time-series and implementing it with a processor multivariate compatible will be straightforward and stateless. With a collection of univariate time-series it's a different story at every level and it's not going in the direction of a stateless architecture. -By generalizing the existing metric data model we can get rid of all these limitations without adding much complexity to the protocol. +**By generalizing the existing metric data model we can get rid of all these limitations without adding much complexity to the protocol.** We simplify the implementation of multivariate forecasting and anomaly detection mechanisms. We minimize the risk of seing again a new telemetry protocol with the only purpose to add a better support for multivariate time-series. Finally, for backends that do not support multivariate time-series, a simple transformation to univariate time-series will be simple to implement in their server-side From 43340eaedcee3ae0ba0e495a94f8b6dd24019908 Mon Sep 17 00:00:00 2001 From: Laurent Querel Date: Mon, 17 May 2021 20:24:22 -0700 Subject: [PATCH 013/130] Update OTEP --- text/metrics/0000-multivariate-timeseries.md | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/text/metrics/0000-multivariate-timeseries.md b/text/metrics/0000-multivariate-timeseries.md index 5decb0950..cf9bb67bb 100644 --- a/text/metrics/0000-multivariate-timeseries.md +++ b/text/metrics/0000-multivariate-timeseries.md @@ -37,22 +37,24 @@ multivariate time-series, a simple transformation to univariate time-series will OpenTelemetry endpoints. ## Explanation [WIP] - -Current model: +As stated before the current metric data model supports univariate time-series: * For a specific resource, an instrumentation library provide a way to report multiple independent metrics. * For each metric, a name, a description, a unit and a list of data points with their corresponding labels is provided. -Proposed model: +In this proposal, we recommend to change the existing protocol as follow: * For a specific resource, an instrumentation library provide a way to report a collection of multivariate time-series. * For each multivariate time-series: * Collection of metadata describing each metric. * Columnar representation of timestamps, labels, metric values and examplars (all aligned together). The benefits of this representation are: -* Labels and timestamps shared between multiple metrics are no longer duplicated. -* Processing operations on multivariate time-series are greatly simplified by keeping labels, metric values and examplars aligned with their corresponding timestamps. It becomes straighforward: - * to store multivariate timeseries without complex pre-processing in the backend. - * to apply filters and transformations on multiple interrelated metrics in the OpenTelemetry processor layer. +* Labels (i.e. attributes) and timestamps are shared between multiple metrics and are no longer duplicated. +* Creation, serialization, compression and deserialization are much more efficient with a columnar representation at the + protocol level. +* Processing operations on multivariate time-series are greatly simplified by keeping labels, metric values and examplars + aligned with their corresponding timestamps. It becomes straighforward to: + * store multivariate time-series without complex pre-processing in the backend. + * apply filters and transformations on multiple interrelated metrics in the OpenTelemetry processor layer. ![Multivariate time-series model](multivariate-time-series-model.png) From 1448c911301088bbd10e5a4dadf7a5e029c41aac Mon Sep 17 00:00:00 2001 From: Laurent Querel Date: Mon, 17 May 2021 20:59:57 -0700 Subject: [PATCH 014/130] Update OTEP --- text/metrics/0000-multivariate-timeseries.md | 42 +++++++++++--------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/text/metrics/0000-multivariate-timeseries.md b/text/metrics/0000-multivariate-timeseries.md index cf9bb67bb..21c082f74 100644 --- a/text/metrics/0000-multivariate-timeseries.md +++ b/text/metrics/0000-multivariate-timeseries.md @@ -37,31 +37,35 @@ multivariate time-series, a simple transformation to univariate time-series will OpenTelemetry endpoints. ## Explanation [WIP] -As stated before the current metric data model supports univariate time-series: -* For a specific resource, an instrumentation library provide a way to report multiple independent metrics. -* For each metric, a name, a description, a unit and a list of data points with their corresponding labels is provided. - -In this proposal, we recommend to change the existing protocol as follow: -* For a specific resource, an instrumentation library provide a way to report a collection of multivariate time-series. -* For each multivariate time-series: - * Collection of metadata describing each metric. - * Columnar representation of timestamps, labels, metric values and examplars (all aligned together). - -The benefits of this representation are: -* Labels (i.e. attributes) and timestamps are shared between multiple metrics and are no longer duplicated. +As stated before the current metric data model supports univariate time-series, so as a user we have: +* for a specific resource, an instrumentation library that provides a way to report multiple independent metrics, +* and for each metric, a set of metadata such as name, description, unit and a list of data points with their corresponding attributes. + +For resources that natively produce mutlivariate time-series, the user has to transform this time-series into a +collection of univariate time-series duplicating the same set of attributes again and again. + +In this proposal, we recommend to improve the existing protocol and at the same time significantly change the user +experience: +* for a specific resource, an instrumentation library will provide a way to report a collection of multivariate time-series. +* for each multivariate time-series, the user will be able to define: + * a collection of metadata describing each metric. + * a set of columnar representation for the timestamps, attributes, metric values and examplars (all aligned together). + +For backends that natively support mutlivariate time-series, the data will be stored without complex processing. For +backends that only support univariate time-series, the data stream will be transformed into a collection of univariate time-series. + +The benefits of this columnar representation are: +* Attributes and timestamps are shared between multiple metrics and are no longer duplicated. * Creation, serialization, compression and deserialization are much more efficient with a columnar representation at the - protocol level. -* Processing operations on multivariate time-series are greatly simplified by keeping labels, metric values and examplars - aligned with their corresponding timestamps. It becomes straighforward to: + protocol level (see benchmark results). +* Processing operations on multivariate time-series are greatly simplified by keeping attributes, + metric values and examplars aligned with their corresponding timestamps. It becomes straightforward to: * store multivariate time-series without complex pre-processing in the backend. * apply filters and transformations on multiple interrelated metrics in the OpenTelemetry processor layer. +**TODO UPDATE THIS DIAGRAM** ![Multivariate time-series model](multivariate-time-series-model.png) -Explain the proposed change as though it was already implemented and you were explaining it to a user. Depending on which layer the proposal addresses, the "user" may vary, or there may even be multiple. - -We encourage you to use examples, diagrams, or whatever else makes the most sense! - ## Internal details [TBD] From 0db08ec3c1bd945e0e219b34967ede302108e2bc Mon Sep 17 00:00:00 2001 From: Laurent Querel Date: Mon, 17 May 2021 21:10:33 -0700 Subject: [PATCH 015/130] Update OTEP --- text/metrics/0000-multivariate-timeseries.md | 8 +++++++- ...multivariate_metric_data_model_overview.png | Bin 0 -> 157407 bytes 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 text/metrics/multivariate_metric_data_model_overview.png diff --git a/text/metrics/0000-multivariate-timeseries.md b/text/metrics/0000-multivariate-timeseries.md index 21c082f74..c5121aa49 100644 --- a/text/metrics/0000-multivariate-timeseries.md +++ b/text/metrics/0000-multivariate-timeseries.md @@ -36,7 +36,13 @@ telemetry protocol with the only purpose to add a better support for multivariat multivariate time-series, a simple transformation to univariate time-series will be simple to implement in their server-side OpenTelemetry endpoints. -## Explanation [WIP] +## Explanation + +The following diagram provides a 10,000-feet comparison between the existing metric data model and the multivariate metric +data model proposed in this document. + +![Multivariate time-series metric data model](multivariate_metric_data_model_overview.png) + As stated before the current metric data model supports univariate time-series, so as a user we have: * for a specific resource, an instrumentation library that provides a way to report multiple independent metrics, * and for each metric, a set of metadata such as name, description, unit and a list of data points with their corresponding attributes. diff --git a/text/metrics/multivariate_metric_data_model_overview.png b/text/metrics/multivariate_metric_data_model_overview.png new file mode 100644 index 0000000000000000000000000000000000000000..e52c75c99cca4c0c2b526115531369efb9c76522 GIT binary patch literal 157407 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�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%0A5_cZ8P@}k%=@U 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 PCH#@9*8LJ?i#PuVMli$; From 52a85f77762ef61a0bcb747b5a6c2f572990b63c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurent=20Qu=C3=A9rel?= Date: Tue, 10 Aug 2021 20:10:18 -0700 Subject: [PATCH 027/130] Change Open Telemetry to OpenTelemetry --- text/0156-columnar-encoding.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/text/0156-columnar-encoding.md b/text/0156-columnar-encoding.md index eae7f81ff..781eb9101 100644 --- a/text/0156-columnar-encoding.md +++ b/text/0156-columnar-encoding.md @@ -1,4 +1,4 @@ -# Columnar encoding for the Open Telemetry protocol +# Columnar encoding for the OpenTelemetry protocol This OTEP proposes to extend (in a compatible way) the Open Telemetry protocol with a **generic columnar representation for metrics, logs and traces**. This extension will significantly improve the efficiency of the protocol for scenarios @@ -15,7 +15,7 @@ of measurements are important. Therefore, the efficiency of the protocol capturi The analytical database industry and more recently the stream processing solutions have used columnar encoding methods to optimize the processing and the storage of structured data. This proposal aims to leverage this representation to -make the Open Telemetry protocol more efficient end-to-end. +make the OpenTelemetry protocol more efficient end-to-end. > Definition: a multivariate time series has more than one time-dependent variable. Each variable depends not only on its past values but also has some dependency on other variables. A 3 axis accelerometer reporting 3 metrics simultaneously; @@ -29,7 +29,7 @@ the potential gain we can obtain for a multivariate time-series scenario. ## Explanation Fundamentally metrics, logs and traces are all structured events occurring at a certain time and optionally covering a -specified time span. Creating an efficient and generic representation for events will benefit the entire Open Telemetry +specified time span. Creating an efficient and generic representation for events will benefit the entire OpenTelemetry eco-system. Currently all the OTEL entities are stored in "rows". A metric entity is a protobuf message containing timestamp, labels, @@ -60,7 +60,7 @@ leveraging Apache Arrow will give us access to a mature solution optimized for o Efficient implementation of Apache Arrow exists for most of the languages (Java, Go, C++, Rust, ...). Connectors with Apache Arrow buffer exist for well-known file format (e.g. Parquet) and for well-known backend (e.g. BigQuery). By reusing this existing infrastructure, -we accelerate the development of the Open Telemetry protocol while expanding its field of application. +we accelerate the development of the OpenTelemetry protocol while expanding its field of application. ![arrow-ecosystem](img/0156-arrow-ecosystem.svg) @@ -93,7 +93,7 @@ More discussions should happen on the processor and storage layers. This approac ## Appendices ### event proto -Protobuf specification (draft) for an Arrow-based Open Telemetry event. +Protobuf specification (draft) for an Arrow-based OpenTelemetry event. ```protobuf syntax = "proto3"; From 0b3f02d6514a6c0a0ccf5e6ef6159e93e37e32df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurent=20Qu=C3=A9rel?= Date: Tue, 10 Aug 2021 20:16:44 -0700 Subject: [PATCH 028/130] Rephrases few sentences in the motivation section --- text/0156-columnar-encoding.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/text/0156-columnar-encoding.md b/text/0156-columnar-encoding.md index 781eb9101..a0e0596da 100644 --- a/text/0156-columnar-encoding.md +++ b/text/0156-columnar-encoding.md @@ -6,16 +6,16 @@ such as multivariate time-series, large batches of traces and logs. ## Motivation -With the current version of the OpenTelemetry protocol, users are **forced to transform multivariate time-series into a +With the current version of the OpenTelemetry protocol, users **will have to transform multivariate time-series into a collection of univariate time-series** resulting in a large amount of duplication and additional overhead covering the entire chain from exporters to backends. -The volume of metrics, traces and logs is constantly increasing to meet new scenarios where accuracy and completeness -of measurements are important. Therefore, the efficiency of the protocol capturing these large telemetry streams is crucial. +As Volume of metrics, traces and logs increases to meet new demands, it is important that we build further optimizations +and protocol efficiencies. The analytical database industry and more recently the stream processing solutions have used columnar encoding methods to optimize the processing and the storage of structured data. This proposal aims to leverage this representation to -make the OpenTelemetry protocol more efficient end-to-end. +enhance the OpenTelemetry protocol when handling columnar encoding. > Definition: a multivariate time series has more than one time-dependent variable. Each variable depends not only on its past values but also has some dependency on other variables. A 3 axis accelerometer reporting 3 metrics simultaneously; From e8c6ef11862738cdc2c12f0af81210965d4f0487 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurent=20Qu=C3=A9rel?= Date: Tue, 10 Aug 2021 20:26:01 -0700 Subject: [PATCH 029/130] Removed trailing-spaces to comply with markdown linter --- text/0156-columnar-encoding.md | 48 +++++++++++++++++----------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/text/0156-columnar-encoding.md b/text/0156-columnar-encoding.md index a0e0596da..4c157b411 100644 --- a/text/0156-columnar-encoding.md +++ b/text/0156-columnar-encoding.md @@ -1,26 +1,26 @@ # Columnar encoding for the OpenTelemetry protocol -This OTEP proposes to extend (in a compatible way) the Open Telemetry protocol with a **generic columnar representation -for metrics, logs and traces**. This extension will significantly improve the efficiency of the protocol for scenarios +This OTEP proposes to extend (in a compatible way) the Open Telemetry protocol with a **generic columnar representation +for metrics, logs and traces**. This extension will significantly improve the efficiency of the protocol for scenarios such as multivariate time-series, large batches of traces and logs. ## Motivation -With the current version of the OpenTelemetry protocol, users **will have to transform multivariate time-series into a -collection of univariate time-series** resulting in a large amount of duplication and additional overhead covering the +With the current version of the OpenTelemetry protocol, users **will have to transform multivariate time-series into a +collection of univariate time-series** resulting in a large amount of duplication and additional overhead covering the entire chain from exporters to backends. -As Volume of metrics, traces and logs increases to meet new demands, it is important that we build further optimizations +As Volume of metrics, traces and logs increases to meet new demands, it is important that we build further optimizations and protocol efficiencies. -The analytical database industry and more recently the stream processing solutions have used columnar encoding methods -to optimize the processing and the storage of structured data. This proposal aims to leverage this representation to +The analytical database industry and more recently the stream processing solutions have used columnar encoding methods +to optimize the processing and the storage of structured data. This proposal aims to leverage this representation to enhance the OpenTelemetry protocol when handling columnar encoding. -> Definition: a multivariate time series has more than one time-dependent variable. Each variable depends not only on -its past values but also has some dependency on other variables. A 3 axis accelerometer reporting 3 metrics simultaneously; -a mouse move that simultaneously reports the values of x and y, a meteorological weather station reporting temperature, -cloud cover, dew point, humidity and wind speed; an http transaction chararterized by many interrelated metrics sharing +> Definition: a multivariate time series has more than one time-dependent variable. Each variable depends not only on +its past values but also has some dependency on other variables. A 3 axis accelerometer reporting 3 metrics simultaneously; +a mouse move that simultaneously reports the values of x and y, a meteorological weather station reporting temperature, +cloud cover, dew point, humidity and wind speed; an http transaction chararterized by many interrelated metrics sharing the same labels are all common examples of multivariate time-series. This [benchmark](https://github.com/lquerel/otel-multivariate-time-series/blob/main/README2.md) illustrates in detail @@ -28,31 +28,31 @@ the potential gain we can obtain for a multivariate time-series scenario. ## Explanation -Fundamentally metrics, logs and traces are all structured events occurring at a certain time and optionally covering a -specified time span. Creating an efficient and generic representation for events will benefit the entire OpenTelemetry -eco-system. +Fundamentally metrics, logs and traces are all structured events occurring at a certain time and optionally covering a +specified time span. Creating an efficient and generic representation for events will benefit the entire OpenTelemetry +eco-system. Currently all the OTEL entities are stored in "rows". A metric entity is a protobuf message containing timestamp, labels, metric value and few other attributes. A batch of metrics behave as a table with multiple rows or metric messages. -Another way to represent the same data is to represent them in columns instead of rows, i.e. a column containing all the -timestamp, a distinct column per label name, a column for the metric values, and so on. This columnar representation is +Another way to represent the same data is to represent them in columns instead of rows, i.e. a column containing all the +timestamp, a distinct column per label name, a column for the metric values, and so on. This columnar representation is a proven approach to optimize the creation, size, and processing of data batches. The main benefits of a such approach are: -* better data compression rate (group of similar data) +* better data compression rate (group of similar data) * faster data processing (better data locality => better use of the CPU cache lines) * faster serialization and deserialization (less objects to process) * faster batch creation (less memory allocation) * better IO efficiency (less data to transmit) -The benefit of this approach increases proportionally with the size of the batches. Using the existing "row-oriented" -representation is well suited for small batch scenarios. Therefore, this proposal suggests to **extend** the protocol by +The benefit of this approach increases proportionally with the size of the batches. Using the existing "row-oriented" +representation is well suited for small batch scenarios. Therefore, this proposal suggests to **extend** the protocol by adding a new columnar event entity to better support multivariate time-series and large batches of events. ## Internal details In addition to the 3 existing resource entities (metrics, logs and traces), we introduce the resource event entity (see [this protobuf specification](#event-proto) -for more details) encoding a batch of events into an Apache Arrow buffer. [Apache Arrow](https://arrow.apache.org/) is -a language-independent columnar memory format for flat and hierarchical data, organized for efficient analytic operations +for more details) encoding a batch of events into an Apache Arrow buffer. [Apache Arrow](https://arrow.apache.org/) is +a language-independent columnar memory format for flat and hierarchical data, organized for efficient analytic operations on modern hardware like CPUs and GPUs. As demonstrated by our [benchmark](https://github.com/lquerel/otel-multivariate-time-series/blob/main/README2.md) leveraging Apache Arrow will give us access to a mature solution optimized for our exact need as well as a broader ecosystem. @@ -60,7 +60,7 @@ leveraging Apache Arrow will give us access to a mature solution optimized for o Efficient implementation of Apache Arrow exists for most of the languages (Java, Go, C++, Rust, ...). Connectors with Apache Arrow buffer exist for well-known file format (e.g. Parquet) and for well-known backend (e.g. BigQuery). By reusing this existing infrastructure, -we accelerate the development of the OpenTelemetry protocol while expanding its field of application. +we accelerate the development of the OpenTelemetry protocol while expanding its field of application. ![arrow-ecosystem](img/0156-arrow-ecosystem.svg) @@ -76,7 +76,7 @@ Specialized processors can be developped to convert batch of events into the exi A columnar-oriented protocol is not necessarily desirable for all scenarios (e.g. devices that do not have the resources to accumulate data in batches). The proposed mixed solution allows to better address these different scenarios. -Implementing a new columnar format is complex and costly (multiple language implementations, tests, optimizations, industry adoption). Reusing Apache Arrow is an interesting approach to mitigate this issue. +Implementing a new columnar format is complex and costly (multiple language implementations, tests, optimizations, industry adoption). Reusing Apache Arrow is an interesting approach to mitigate this issue. ## Prior art and alternatives * [Column-oriented DBMS](https://en.wikipedia.org/wiki/Column-oriented_DBMS) @@ -88,7 +88,7 @@ More work needs to be done around examplars and histograms representation. More discussions should happen on the processor and storage layers. This approach could simplify significantly the design of OTEL compatible stream processing and database systems. ## Future possibilities -* Leverage Apache Arrow dictionary +* Leverage Apache Arrow dictionary ## Appendices From dc74dd39a07bf905dbd26e99820206b689730cf1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurent=20Qu=C3=A9rel?= Date: Tue, 10 Aug 2021 20:27:54 -0700 Subject: [PATCH 030/130] Fixed typo --- text/0156-columnar-encoding.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/text/0156-columnar-encoding.md b/text/0156-columnar-encoding.md index 4c157b411..5524d1078 100644 --- a/text/0156-columnar-encoding.md +++ b/text/0156-columnar-encoding.md @@ -68,9 +68,9 @@ we accelerate the development of the OpenTelemetry protocol while expanding its Backends that don't support natively multivariate time-series can still automatically transform these events in multiple univariate time-series and operate as usual. -Specialized processors can be developped to group metrics, logs and traces in optimized batch of events in order to connect existing OTEL collectors with backends supporting this new protocol extension. +Specialized processors can be developed to group metrics, logs and traces in optimized batch of events in order to connect existing OTEL collectors with backends supporting this new protocol extension. -Specialized processors can be developped to convert batch of events into the existing entities for backends that don't support this protocol extension. +Specialized processors can be developed to convert batch of events into the existing entities for backends that don't support this protocol extension. ## Trade-offs and mitigations From fffce3353f238666772d2c74521f94c919c1fc06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurent=20Qu=C3=A9rel?= Date: Tue, 10 Aug 2021 20:30:48 -0700 Subject: [PATCH 031/130] Fixed more markdown issues --- text/0156-columnar-encoding.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/text/0156-columnar-encoding.md b/text/0156-columnar-encoding.md index 5524d1078..20b3b43e5 100644 --- a/text/0156-columnar-encoding.md +++ b/text/0156-columnar-encoding.md @@ -38,6 +38,7 @@ metric value and few other attributes. A batch of metrics behave as a table with Another way to represent the same data is to represent them in columns instead of rows, i.e. a column containing all the timestamp, a distinct column per label name, a column for the metric values, and so on. This columnar representation is a proven approach to optimize the creation, size, and processing of data batches. The main benefits of a such approach are: + * better data compression rate (group of similar data) * faster data processing (better data locality => better use of the CPU cache lines) * faster serialization and deserialization (less objects to process) @@ -79,20 +80,24 @@ A columnar-oriented protocol is not necessarily desirable for all scenarios (e.g Implementing a new columnar format is complex and costly (multiple language implementations, tests, optimizations, industry adoption). Reusing Apache Arrow is an interesting approach to mitigate this issue. ## Prior art and alternatives -* [Column-oriented DBMS](https://en.wikipedia.org/wiki/Column-oriented_DBMS) + +* [Column-oriented DBMS](https://en.wikipedia.org/wiki/Column-oriented_DBMS) * [Apache Arrow](https://arrow.apache.org/) ## Open questions + More work needs to be done around examplars and histograms representation. More discussions should happen on the processor and storage layers. This approach could simplify significantly the design of OTEL compatible stream processing and database systems. ## Future possibilities + * Leverage Apache Arrow dictionary ## Appendices ### event proto + Protobuf specification (draft) for an Arrow-based OpenTelemetry event. ```protobuf From 72768c4f01ad5db9f365d0ef1f6fc37d218af42c Mon Sep 17 00:00:00 2001 From: Laurent Querel Date: Wed, 11 Aug 2021 13:29:52 -0700 Subject: [PATCH 032/130] Add mapping OTEL metrics, logs, traces to Apache Arrow Schema --- text/0156-columnar-encoding.md | 188 ++++++++++++++++++++++++++++++++- 1 file changed, 187 insertions(+), 1 deletion(-) diff --git a/text/0156-columnar-encoding.md b/text/0156-columnar-encoding.md index 20b3b43e5..d3436d48a 100644 --- a/text/0156-columnar-encoding.md +++ b/text/0156-columnar-encoding.md @@ -1,6 +1,6 @@ # Columnar encoding for the OpenTelemetry protocol -This OTEP proposes to extend (in a compatible way) the Open Telemetry protocol with a **generic columnar representation +This OTEP proposes to extend (in a compatible way) the OpenTelemetry protocol with a **generic columnar representation for metrics, logs and traces**. This extension will significantly improve the efficiency of the protocol for scenarios such as multivariate time-series, large batches of traces and logs. @@ -65,6 +65,192 @@ we accelerate the development of the OpenTelemetry protocol while expanding its ![arrow-ecosystem](img/0156-arrow-ecosystem.svg) +### OpenTelemetry metrics to Arrow mapping + +```rust +// Multivariate time-series schema declaration +Schema::new(vec![ + // times + Field::new("start_time_unix_nano", DataType::UInt64, false), + Field::new("time_unix_nano", DataType::UInt64, false), + + // labels + Field::new( + "labels", + DataType::Struct(vec![ + Field::new("label_1", DataType::Utf8, false), + Field::new("label_2", DataType::Utf8, false), + // ... + ]), + true, + ), + + // metrics + Field::new( + "metrics", + DataType::Struct(vec![ + Field::new("metric_1", DataType::Int64, true), + Field::new("metric_2", DataType::Float64, true), + // ... + ]), + false, + ), + + // attributes + Field::new("attributes", DataType::List( + Box::new(Field::new( + "attribute", + DataType::Struct(vec![ + Field::new("name", DataType::Utf8, false), + Field::new("value", DataType::Utf8, false), + ]), + true, + )) + ), true), + + // exemplars + Field::new("exemplars", DataType::List( + Box::new(Field::new( + "exemplar", + DataType::Struct(vec![ + Field::new("filtered_attributes", DataType::List( + Box::new(Field::new( + "attribute", + DataType::Struct(vec![ + Field::new("name", DataType::Utf8, false), + Field::new("value", DataType::Utf8, false), + ]), + true, + )) + ), true), + Field::new("filtered_labels", DataType::List( + Box::new(Field::new( + "label", + DataType::Struct(vec![ + Field::new("name", DataType::Utf8, false), + Field::new("value", DataType::Utf8, false), + ]), + true, + )) + ), true), + Field::new("time_unix_nano", DataType::UInt64, false), + // Could be Float64 or Int64 + Field::new("value", DataType::Float64, false), + Field::new("span_id", DataType::Binary, false), + Field::new("trace_id", DataType::Binary, false), + ]), + true, + )) + ), true), +]) +``` + +### OpenTelemetry logs to Arrow mapping + +```rust +// log schema declaration +Schema::new(vec![ + // time + Field::new("time_unix_nano", DataType::UInt64, false), + + Field::new("severity_number", DataType::UInt8, false), + Field::new("severity_text", DataType::Utf8, false), + Field::new("name", DataType::Utf8, false), + Field::new("body", DataType::Utf8, false), + + // attributes + Field::new("attributes", DataType::List( + Box::new(Field::new( + "attribute", + DataType::Struct(vec![ + Field::new("name", DataType::Utf8, false), + Field::new("value", DataType::Utf8, false), + ]), + true, + )) + ), true), + + Field::new("flags", DataType::Int32, false), + Field::new("span_id", DataType::Binary, false), + Field::new("trace_id", DataType::Binary, false), +]) +``` + +### OpenTelemetry traces to Arrow mapping + +```rust +// trace schema declaration +Schema::new(vec![ + // times + Field::new("start_time_unix_nano", DataType::UInt64, false), + Field::new("end_time_unix_nano", DataType::UInt64, false), + + Field::new("trace_id", DataType::Binary, false), + Field::new("span_id", DataType::Binary, false), + Field::new("trace_state", DataType::Utf8, false), + Field::new("parent_span_id", DataType::Binary, false), + Field::new("name", DataType::Utf8, false), + Field::new("kind", DataType::UInt8, false), + + // attributes + Field::new("attributes", DataType::List( + Box::new(Field::new( + "attribute", + DataType::Struct(vec![ + Field::new("name", DataType::Utf8, false), + Field::new("value", DataType::Utf8, false), + ]), + true, + )) + ), true), + + // events + Field::new("events", DataType::List( + Box::new(Field::new( + "event", + DataType::Struct(vec![ + Field::new("time_unix_nano", DataType::UInt64, false), + Field::new("name", DataType::Utf8, false), + Field::new("attributes", DataType::List( + Box::new(Field::new( + "attribute", + DataType::Struct(vec![ + Field::new("name", DataType::Utf8, false), + Field::new("value", DataType::Utf8, false), + ]), + true, + )) + ), true), + ]), + true, + )) + ), true), + + // links + Field::new("links", DataType::List( + Box::new(Field::new( + "link", + DataType::Struct(vec![ + Field::new("trace_id", DataType::Binary, false), + Field::new("span_id", DataType::Binary, false), + Field::new("trace_state", DataType::Utf8, false), + Field::new("attributes", DataType::List( + Box::new(Field::new( + "attribute", + DataType::Struct(vec![ + Field::new("name", DataType::Utf8, false), + Field::new("value", DataType::Utf8, false), + ]), + true, + )) + ), true), + ]), + true, + )) + ), true), +]) +``` + ### Corners cases Backends that don't support natively multivariate time-series can still automatically transform these events in multiple univariate time-series and operate as usual. From 869559197d5569d633a5f54ea5bcbf7098f0c7f5 Mon Sep 17 00:00:00 2001 From: Laurent Querel Date: Wed, 11 Aug 2021 16:54:26 -0700 Subject: [PATCH 033/130] More explanation on the Arrow mapping and the memory layout. --- text/0156-columnar-encoding.md | 116 +++++++++++++++++++++++++-------- 1 file changed, 90 insertions(+), 26 deletions(-) diff --git a/text/0156-columnar-encoding.md b/text/0156-columnar-encoding.md index d3436d48a..968ea9e4f 100644 --- a/text/0156-columnar-encoding.md +++ b/text/0156-columnar-encoding.md @@ -24,7 +24,8 @@ cloud cover, dew point, humidity and wind speed; an http transaction chararteriz the same labels are all common examples of multivariate time-series. This [benchmark](https://github.com/lquerel/otel-multivariate-time-series/blob/main/README2.md) illustrates in detail -the potential gain we can obtain for a multivariate time-series scenario. +the potential gain we can obtain for a multivariate time-series scenario. To represent different scenarios, this +benchmark has been performed with the following batch size: 10, 100, 500, 1000, 5000, 10000. ## Explanation @@ -65,16 +66,48 @@ we accelerate the development of the OpenTelemetry protocol while expanding its ![arrow-ecosystem](img/0156-arrow-ecosystem.svg) -### OpenTelemetry metrics to Arrow mapping +### OpenTelemetry entities to Arrow mapping + +Apache Arrow is a general-purpose in memory columnar format with a fast serialization and deserialization support. All +Arrow entities must be defined with a schema. For OpenTelemetry the following Arrow schemas are proposed to map the +existing entities i.e. metrics, logs and traces. **By fixing these schemas we allow all the participants exporters, +processors, and consumers to encode and decode efficiently these telemetry streams.** Nothing will prevent a processor +supporting this protocol extension to filter, aggregate, project Arrow buffers. To do so, the processor will be able to +leverage the processing capability of Apache Arrow to directly process the batches (some Arrow frameworks support +SIMD accelerations). + +By storing Arrow buffers in a protobuf field of type 'bytes' we can leverage the zero-copy capability of some Protobuf +implementations (e.g. C++, Java, Rust) in order to get the most out of Arrow (relying on zero-copy ser/deser framework). + +Null values support can be configured per field (third parameter in the field description). When enabled, a validity map +mechanism is used. + +>> Please read this documentation to get a complete description of the [Arrow Memory Layout](https://arrow.apache.org/docs/format/Columnar.html#format-columnar). + +#### OpenTelemetry metrics to Arrow mapping + +This Arrow schema describes the representation of univariate and **multivariate** time-series. + +Labels are mapped to a set of dedicated column scoped by the logical struct 'labels'. The list of labels can be easily +determined from the schema by any participants. Metrics follow the same organization and are scoped by the logical +struct 'metrics'. + +Attributes and exemplars are encoded with a list of structs instead of a struct of fields (columns). This mapping is +based on the assumption that the number of attributes or exemplars can vary greatly from one measurement point to another +for the same time-series. Arrow encodes this type representation with an offsets buffer and a child/data array. +If this assumption is not true, another option will be to declare one column per attribute and exemplar with a validity +bitmap enabled. **This should be validated by experimentation on realistic datasets.** + +For more details on the Arrow Memory Layout see this [document](https://arrow.apache.org/docs/format/Columnar.html#variable-size-binary-layout). ```rust // Multivariate time-series schema declaration Schema::new(vec![ - // times + // Time range Field::new("start_time_unix_nano", DataType::UInt64, false), Field::new("time_unix_nano", DataType::UInt64, false), - // labels + // Labels Field::new( "labels", DataType::Struct(vec![ @@ -85,18 +118,20 @@ Schema::new(vec![ true, ), - // metrics + // Metrics + // Only one metric in the structure if this schema represent a univariate time-series. + // Multiple fields in the structure to represent multivariate time-series. Field::new( "metrics", DataType::Struct(vec![ - Field::new("metric_1", DataType::Int64, true), - Field::new("metric_2", DataType::Float64, true), + Field::new("metric_1", DataType::Int64, false), + Field::new("metric_2", DataType::Float64, false), // ... ]), false, ), - // attributes + // Attributes Field::new("attributes", DataType::List( Box::new(Field::new( "attribute", @@ -108,7 +143,7 @@ Schema::new(vec![ )) ), true), - // exemplars + // Exemplars Field::new("exemplars", DataType::List( Box::new(Field::new( "exemplar", @@ -145,20 +180,37 @@ Schema::new(vec![ ]) ``` -### OpenTelemetry logs to Arrow mapping +#### OpenTelemetry logs to Arrow mapping + +This Arrow schema describes the representation of logs. + +Labels are mapped to a set of dedicated column scoped by the logical struct 'labels'. The list of labels can be easily +determined from the schema by any participants. Metrics follow the same organization and are scoped by the logical +struct 'metrics'. + +Attributes with a list of structs instead of a struct of fields (columns). This mapping is based on the assumption that +the number of attributes can vary greatly from one log entry to another for the same log stream. Arrow encodes this type +representation with an offsets buffer and a child/data array. If this assumption is not true, another option will be to +declare one column per attribute with a validity bitmap enabled. **This should be validated by experimentation on +realistic datasets.** + +For more details on the Arrow Memory Layout see this [document](https://arrow.apache.org/docs/format/Columnar.html#variable-size-binary-layout). ```rust -// log schema declaration +// Log schema declaration Schema::new(vec![ - // time + // Timestamp Field::new("time_unix_nano", DataType::UInt64, false), Field::new("severity_number", DataType::UInt8, false), - Field::new("severity_text", DataType::Utf8, false), + Field::new("severity_text", DataType::Utf8, true), Field::new("name", DataType::Utf8, false), - Field::new("body", DataType::Utf8, false), + Field::new("body", DataType::Utf8, true), + Field::new("flags", DataType::Int32, true), + Field::new("span_id", DataType::Binary, true), + Field::new("trace_id", DataType::Binary, true), - // attributes + // Attributes Field::new("attributes", DataType::List( Box::new(Field::new( "attribute", @@ -169,17 +221,29 @@ Schema::new(vec![ true, )) ), true), - - Field::new("flags", DataType::Int32, false), - Field::new("span_id", DataType::Binary, false), - Field::new("trace_id", DataType::Binary, false), ]) ``` -### OpenTelemetry traces to Arrow mapping +#### OpenTelemetry traces to Arrow mapping + +This Arrow schema describes the representation of traces. + +Labels are mapped to a set of dedicated column scoped by the logical struct 'labels'. The list of labels can be easily +determined from the schema by any participants. Metrics follow the same organization and are scoped by the logical +struct 'metrics'. + +Attributes with a list of structs instead of a struct of fields (columns). This mapping is based on the assumption that +the number of attributes can vary greatly from one log entry to another for the same log stream. Arrow encodes this type +representation with an offsets buffer and a child/data array. If this assumption is not true, another option will be to +declare one column per attribute with a validity bitmap enabled. **This should be validated by experimentation on +realistic datasets.** + +Events and links follow the same representation used for the attributes. + +For more details on the Arrow Memory Layout see this [document](https://arrow.apache.org/docs/format/Columnar.html#variable-size-binary-layout). ```rust -// trace schema declaration +// Trace schema declaration Schema::new(vec![ // times Field::new("start_time_unix_nano", DataType::UInt64, false), @@ -187,12 +251,12 @@ Schema::new(vec![ Field::new("trace_id", DataType::Binary, false), Field::new("span_id", DataType::Binary, false), - Field::new("trace_state", DataType::Utf8, false), - Field::new("parent_span_id", DataType::Binary, false), + Field::new("trace_state", DataType::Utf8, true), + Field::new("parent_span_id", DataType::Binary, true), Field::new("name", DataType::Utf8, false), Field::new("kind", DataType::UInt8, false), - // attributes + // Attributes Field::new("attributes", DataType::List( Box::new(Field::new( "attribute", @@ -204,7 +268,7 @@ Schema::new(vec![ )) ), true), - // events + // Events Field::new("events", DataType::List( Box::new(Field::new( "event", @@ -226,7 +290,7 @@ Schema::new(vec![ )) ), true), - // links + // Links Field::new("links", DataType::List( Box::new(Field::new( "link", From 9139969285083d70b8424d98a13ace3551b3164e Mon Sep 17 00:00:00 2001 From: Laurent Querel Date: Wed, 11 Aug 2021 16:59:08 -0700 Subject: [PATCH 034/130] Fixed markdown issues. --- text/0156-columnar-encoding.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/text/0156-columnar-encoding.md b/text/0156-columnar-encoding.md index 968ea9e4f..559e8a590 100644 --- a/text/0156-columnar-encoding.md +++ b/text/0156-columnar-encoding.md @@ -86,9 +86,9 @@ mechanism is used. #### OpenTelemetry metrics to Arrow mapping -This Arrow schema describes the representation of univariate and **multivariate** time-series. +This Arrow schema describes the representation of univariate and **multivariate** time-series. -Labels are mapped to a set of dedicated column scoped by the logical struct 'labels'. The list of labels can be easily +Labels are mapped to a set of dedicated column scoped by the logical struct 'labels'. The list of labels can be easily determined from the schema by any participants. Metrics follow the same organization and are scoped by the logical struct 'metrics'. @@ -96,7 +96,7 @@ Attributes and exemplars are encoded with a list of structs instead of a struct based on the assumption that the number of attributes or exemplars can vary greatly from one measurement point to another for the same time-series. Arrow encodes this type representation with an offsets buffer and a child/data array. If this assumption is not true, another option will be to declare one column per attribute and exemplar with a validity -bitmap enabled. **This should be validated by experimentation on realistic datasets.** +bitmap enabled. **This should be validated by experimentation on realistic datasets.** For more details on the Arrow Memory Layout see this [document](https://arrow.apache.org/docs/format/Columnar.html#variable-size-binary-layout). From 6499c63b36646eb2f093294c34060c7bccb3578a Mon Sep 17 00:00:00 2001 From: Laurent Querel Date: Thu, 12 Aug 2021 08:59:24 -0700 Subject: [PATCH 035/130] Micro update to trigger the CLA checker again. --- text/0156-columnar-encoding.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/text/0156-columnar-encoding.md b/text/0156-columnar-encoding.md index 559e8a590..e8f4649c8 100644 --- a/text/0156-columnar-encoding.md +++ b/text/0156-columnar-encoding.md @@ -245,7 +245,7 @@ For more details on the Arrow Memory Layout see this [document](https://arrow.ap ```rust // Trace schema declaration Schema::new(vec![ - // times + // Time range Field::new("start_time_unix_nano", DataType::UInt64, false), Field::new("end_time_unix_nano", DataType::UInt64, false), From aa9c513ba708544a3652348a562c8131d79aa843 Mon Sep 17 00:00:00 2001 From: Laurent Querel Date: Thu, 12 Aug 2021 12:28:36 -0700 Subject: [PATCH 036/130] Update motivation section based on feedback from @jmacd --- text/0156-columnar-encoding.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/text/0156-columnar-encoding.md b/text/0156-columnar-encoding.md index e8f4649c8..2d9d566a3 100644 --- a/text/0156-columnar-encoding.md +++ b/text/0156-columnar-encoding.md @@ -11,7 +11,8 @@ collection of univariate time-series** resulting in a large amount of duplicatio entire chain from exporters to backends. As Volume of metrics, traces and logs increases to meet new demands, it is important that we build further optimizations -and protocol efficiencies. +and protocol efficiencies. CPU, memory, and network bandwidth must be optimized to minimize the impact on devices, +processes and overall cost of collecting and transmitting large streams of telemetry data. The analytical database industry and more recently the stream processing solutions have used columnar encoding methods to optimize the processing and the storage of structured data. This proposal aims to leverage this representation to From f0c6b90daf64b4fd323b7de77ab3140e63c1ccd7 Mon Sep 17 00:00:00 2001 From: Laurent Querel Date: Fri, 13 Aug 2021 06:53:45 -0700 Subject: [PATCH 037/130] Add some additional clarifications to @tigrannajaryan's feedback --- text/0156-columnar-encoding.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/text/0156-columnar-encoding.md b/text/0156-columnar-encoding.md index 2d9d566a3..a6283be0e 100644 --- a/text/0156-columnar-encoding.md +++ b/text/0156-columnar-encoding.md @@ -49,7 +49,7 @@ a proven approach to optimize the creation, size, and processing of data batches The benefit of this approach increases proportionally with the size of the batches. Using the existing "row-oriented" representation is well suited for small batch scenarios. Therefore, this proposal suggests to **extend** the protocol by -adding a new columnar event entity to better support multivariate time-series and large batches of events. +adding a new columnar event entity to better support multivariate time-series and large batches of logs and traces. ## Internal details @@ -69,13 +69,17 @@ we accelerate the development of the OpenTelemetry protocol while expanding its ### OpenTelemetry entities to Arrow mapping -Apache Arrow is a general-purpose in memory columnar format with a fast serialization and deserialization support. All +Apache Arrow is a general-purpose in-memory columnar format with a fast serialization and deserialization support. All Arrow entities must be defined with a schema. For OpenTelemetry the following Arrow schemas are proposed to map the existing entities i.e. metrics, logs and traces. **By fixing these schemas we allow all the participants exporters, processors, and consumers to encode and decode efficiently these telemetry streams.** Nothing will prevent a processor supporting this protocol extension to filter, aggregate, project Arrow buffers. To do so, the processor will be able to -leverage the processing capability of Apache Arrow to directly process the batches (some Arrow frameworks support -SIMD accelerations). +leverage the processing capability of Apache Arrow to directly process in-situ and with minimum of memory copy the +batches (some Arrow frameworks support SIMD accelerations and SQL data processing). +Alternatively, and although this is not the most optimal approach, it will be entirely possible for processors that +already have a row-oriented processing framework to convert Arrow buffers into a stream of metrics, logs, or traces to +apply their existing processing capabilities, and then rebuild the Arrow buffers before to send the message to other +intermediaries or backends. By storing Arrow buffers in a protobuf field of type 'bytes' we can leverage the zero-copy capability of some Protobuf implementations (e.g. C++, Java, Rust) in order to get the most out of Arrow (relying on zero-copy ser/deser framework). From fce05afe6a9df4351fa1f15ea8499b91d86010f7 Mon Sep 17 00:00:00 2001 From: Laurent Querel Date: Sat, 18 Sep 2021 09:05:09 -0700 Subject: [PATCH 038/130] Span id and trace id are now nullable fields (as suggested by @jsuereth). --- text/0156-columnar-encoding.md | 92 +++++++++++++--------------------- 1 file changed, 36 insertions(+), 56 deletions(-) diff --git a/text/0156-columnar-encoding.md b/text/0156-columnar-encoding.md index a6283be0e..81fa0b622 100644 --- a/text/0156-columnar-encoding.md +++ b/text/0156-columnar-encoding.md @@ -71,8 +71,8 @@ we accelerate the development of the OpenTelemetry protocol while expanding its Apache Arrow is a general-purpose in-memory columnar format with a fast serialization and deserialization support. All Arrow entities must be defined with a schema. For OpenTelemetry the following Arrow schemas are proposed to map the -existing entities i.e. metrics, logs and traces. **By fixing these schemas we allow all the participants exporters, -processors, and consumers to encode and decode efficiently these telemetry streams.** Nothing will prevent a processor +existing entities i.e. metrics, logs and traces. **By fixing these schemas we allow all the collector components such as receivers, +processors, and exporters to encode and decode efficiently these telemetry streams.** Nothing will prevent a processor supporting this protocol extension to filter, aggregate, project Arrow buffers. To do so, the processor will be able to leverage the processing capability of Apache Arrow to directly process in-situ and with minimum of memory copy the batches (some Arrow frameworks support SIMD accelerations and SQL data processing). @@ -87,18 +87,20 @@ implementations (e.g. C++, Java, Rust) in order to get the most out of Arrow (re Null values support can be configured per field (third parameter in the field description). When enabled, a validity map mechanism is used. ->> Please read this documentation to get a complete description of the [Arrow Memory Layout](https://arrow.apache.org/docs/format/Columnar.html#format-columnar). +> Please read this documentation to get a complete description of the [Arrow Memory Layout](https://arrow.apache.org/docs/format/Columnar.html#format-columnar). + +> Notation: For the next 3 sections, the schema definition uses the following notation to declare fields -> Field::new(name, type, nullable) #### OpenTelemetry metrics to Arrow mapping This Arrow schema describes the representation of univariate and **multivariate** time-series. -Labels are mapped to a set of dedicated column scoped by the logical struct 'labels'. The list of labels can be easily +Attributes are mapped to a set of dedicated column scoped by the logical struct 'attributes'. The list of attributes can be easily determined from the schema by any participants. Metrics follow the same organization and are scoped by the logical struct 'metrics'. -Attributes and exemplars are encoded with a list of structs instead of a struct of fields (columns). This mapping is -based on the assumption that the number of attributes or exemplars can vary greatly from one measurement point to another +Exemplars are encoded with a list of structs instead of a struct of fields (columns). This mapping is +based on the assumption that the number of exemplars can vary greatly from one measurement point to another for the same time-series. Arrow encodes this type representation with an offsets buffer and a child/data array. If this assumption is not true, another option will be to declare one column per attribute and exemplar with a validity bitmap enabled. **This should be validated by experimentation on realistic datasets.** @@ -112,12 +114,12 @@ Schema::new(vec![ Field::new("start_time_unix_nano", DataType::UInt64, false), Field::new("time_unix_nano", DataType::UInt64, false), - // Labels + // Attributes Field::new( - "labels", + "attributes", DataType::Struct(vec![ - Field::new("label_1", DataType::Utf8, false), - Field::new("label_2", DataType::Utf8, false), + Field::new("attribute_1", DataType::Utf8, false), + Field::new("attribute_2", DataType::Utf8, false), // ... ]), true, @@ -136,18 +138,6 @@ Schema::new(vec![ false, ), - // Attributes - Field::new("attributes", DataType::List( - Box::new(Field::new( - "attribute", - DataType::Struct(vec![ - Field::new("name", DataType::Utf8, false), - Field::new("value", DataType::Utf8, false), - ]), - true, - )) - ), true), - // Exemplars Field::new("exemplars", DataType::List( Box::new(Field::new( @@ -176,8 +166,8 @@ Schema::new(vec![ Field::new("time_unix_nano", DataType::UInt64, false), // Could be Float64 or Int64 Field::new("value", DataType::Float64, false), - Field::new("span_id", DataType::Binary, false), - Field::new("trace_id", DataType::Binary, false), + Field::new("span_id", DataType::Binary, true), + Field::new("trace_id", DataType::Binary, true), ]), true, )) @@ -189,15 +179,8 @@ Schema::new(vec![ This Arrow schema describes the representation of logs. -Labels are mapped to a set of dedicated column scoped by the logical struct 'labels'. The list of labels can be easily -determined from the schema by any participants. Metrics follow the same organization and are scoped by the logical -struct 'metrics'. - -Attributes with a list of structs instead of a struct of fields (columns). This mapping is based on the assumption that -the number of attributes can vary greatly from one log entry to another for the same log stream. Arrow encodes this type -representation with an offsets buffer and a child/data array. If this assumption is not true, another option will be to -declare one column per attribute with a validity bitmap enabled. **This should be validated by experimentation on -realistic datasets.** +Attributes are mapped to a set of dedicated column scoped by the logical struct 'attributes'. The list of attributes can be easily +determined from the schema by any participants. For more details on the Arrow Memory Layout see this [document](https://arrow.apache.org/docs/format/Columnar.html#variable-size-binary-layout). @@ -216,16 +199,15 @@ Schema::new(vec![ Field::new("trace_id", DataType::Binary, true), // Attributes - Field::new("attributes", DataType::List( - Box::new(Field::new( - "attribute", - DataType::Struct(vec![ - Field::new("name", DataType::Utf8, false), - Field::new("value", DataType::Utf8, false), - ]), - true, - )) - ), true), + Field::new( + "attributes", + DataType::Struct(vec![ + Field::new("attribute_1", DataType::Utf8, false), + Field::new("attribute_2", DataType::Utf8, false), + // ... + ]), + true, + ), ]) ``` @@ -233,9 +215,8 @@ Schema::new(vec![ This Arrow schema describes the representation of traces. -Labels are mapped to a set of dedicated column scoped by the logical struct 'labels'. The list of labels can be easily -determined from the schema by any participants. Metrics follow the same organization and are scoped by the logical -struct 'metrics'. +Attributes are mapped to a set of dedicated column scoped by the logical struct 'attributes'. The list of attributes can be easily +determined from the schema by any participants. Attributes with a list of structs instead of a struct of fields (columns). This mapping is based on the assumption that the number of attributes can vary greatly from one log entry to another for the same log stream. Arrow encodes this type @@ -262,16 +243,15 @@ Schema::new(vec![ Field::new("kind", DataType::UInt8, false), // Attributes - Field::new("attributes", DataType::List( - Box::new(Field::new( - "attribute", - DataType::Struct(vec![ - Field::new("name", DataType::Utf8, false), - Field::new("value", DataType::Utf8, false), - ]), - true, - )) - ), true), + Field::new( + "attributes", + DataType::Struct(vec![ + Field::new("attribute_1", DataType::Utf8, false), + Field::new("attribute_2", DataType::Utf8, false), + // ... + ]), + true, + ), // Events Field::new("events", DataType::List( From 33ea57d6b441b719dac2d85d3bccfffb04553cc1 Mon Sep 17 00:00:00 2001 From: Laurent Querel Date: Sat, 18 Sep 2021 09:07:14 -0700 Subject: [PATCH 039/130] Replaced label by attribute (as suggested by @jmacd and @jsuereth) --- text/0156-columnar-encoding.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/text/0156-columnar-encoding.md b/text/0156-columnar-encoding.md index 81fa0b622..a079e11b8 100644 --- a/text/0156-columnar-encoding.md +++ b/text/0156-columnar-encoding.md @@ -22,7 +22,7 @@ enhance the OpenTelemetry protocol when handling columnar encoding. its past values but also has some dependency on other variables. A 3 axis accelerometer reporting 3 metrics simultaneously; a mouse move that simultaneously reports the values of x and y, a meteorological weather station reporting temperature, cloud cover, dew point, humidity and wind speed; an http transaction chararterized by many interrelated metrics sharing -the same labels are all common examples of multivariate time-series. +the same attributes are all common examples of multivariate time-series. This [benchmark](https://github.com/lquerel/otel-multivariate-time-series/blob/main/README2.md) illustrates in detail the potential gain we can obtain for a multivariate time-series scenario. To represent different scenarios, this @@ -34,11 +34,11 @@ Fundamentally metrics, logs and traces are all structured events occurring at a specified time span. Creating an efficient and generic representation for events will benefit the entire OpenTelemetry eco-system. -Currently all the OTEL entities are stored in "rows". A metric entity is a protobuf message containing timestamp, labels, +Currently all the OTEL entities are stored in "rows". A metric entity is a protobuf message containing timestamp, attributes, metric value and few other attributes. A batch of metrics behave as a table with multiple rows or metric messages. Another way to represent the same data is to represent them in columns instead of rows, i.e. a column containing all the -timestamp, a distinct column per label name, a column for the metric values, and so on. This columnar representation is +timestamp, a distinct column per attribute name, a column for the metric values, and so on. This columnar representation is a proven approach to optimize the creation, size, and processing of data batches. The main benefits of a such approach are: * better data compression rate (group of similar data) @@ -153,9 +153,9 @@ Schema::new(vec![ true, )) ), true), - Field::new("filtered_labels", DataType::List( + Field::new("filtered_attributes", DataType::List( Box::new(Field::new( - "label", + "attribute", DataType::Struct(vec![ Field::new("name", DataType::Utf8, false), Field::new("value", DataType::Utf8, false), From 3d636d57065a7ed1f4a3d48d80089b6f989d77cb Mon Sep 17 00:00:00 2001 From: Laurent Querel Date: Tue, 21 Sep 2021 07:48:02 -0700 Subject: [PATCH 040/130] Fix markdown issues --- text/0156-columnar-encoding.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/text/0156-columnar-encoding.md b/text/0156-columnar-encoding.md index a079e11b8..649422987 100644 --- a/text/0156-columnar-encoding.md +++ b/text/0156-columnar-encoding.md @@ -88,7 +88,6 @@ Null values support can be configured per field (third parameter in the field de mechanism is used. > Please read this documentation to get a complete description of the [Arrow Memory Layout](https://arrow.apache.org/docs/format/Columnar.html#format-columnar). - > Notation: For the next 3 sections, the schema definition uses the following notation to declare fields -> Field::new(name, type, nullable) #### OpenTelemetry metrics to Arrow mapping @@ -180,7 +179,7 @@ Schema::new(vec![ This Arrow schema describes the representation of logs. Attributes are mapped to a set of dedicated column scoped by the logical struct 'attributes'. The list of attributes can be easily -determined from the schema by any participants. +determined from the schema by any participants. For more details on the Arrow Memory Layout see this [document](https://arrow.apache.org/docs/format/Columnar.html#variable-size-binary-layout). @@ -216,7 +215,7 @@ Schema::new(vec![ This Arrow schema describes the representation of traces. Attributes are mapped to a set of dedicated column scoped by the logical struct 'attributes'. The list of attributes can be easily -determined from the schema by any participants. +determined from the schema by any participants. Attributes with a list of structs instead of a struct of fields (columns). This mapping is based on the assumption that the number of attributes can vary greatly from one log entry to another for the same log stream. Arrow encodes this type From 19653e1ce6b4f30c609a3e01de3cb46ced66016a Mon Sep 17 00:00:00 2001 From: Laurent Querel Date: Tue, 21 Sep 2021 08:03:17 -0700 Subject: [PATCH 041/130] Add field declaration syntax based on @jmacd comment (https://github.com/open-telemetry/oteps/pull/171#discussion_r689812061) --- text/0156-columnar-encoding.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/text/0156-columnar-encoding.md b/text/0156-columnar-encoding.md index 649422987..0ce7b3d8f 100644 --- a/text/0156-columnar-encoding.md +++ b/text/0156-columnar-encoding.md @@ -106,6 +106,8 @@ bitmap enabled. **This should be validated by experimentation on realistic datas For more details on the Arrow Memory Layout see this [document](https://arrow.apache.org/docs/format/Columnar.html#variable-size-binary-layout). +Note: in Arrow schemas, each field declaration is a triplet following this syntax `Field::new(name, type, semantically_nullable)`. + ```rust // Multivariate time-series schema declaration Schema::new(vec![ From 0590cb852727c3a2a9f8e76aba57dd29d061b2da Mon Sep 17 00:00:00 2001 From: Laurent Querel Date: Fri, 10 Jun 2022 16:51:29 -0700 Subject: [PATCH 042/130] Update OTEP 0156 - Full protocol/mapping spec + Benchmark and more. --- text/0156-columnar-encoding.md | 2505 ++++++++++++++--- text/img/0156_All trials.png | Bin 0 -> 649493 bytes text/img/0156_Best trials.png | Bin 0 -> 125205 bytes text/img/0156_OTEL - Arrow IPC.png | Bin 0 -> 180519 bytes text/img/0156_OTEL - HowToUseArrow.png | Bin 0 -> 46985 bytes .../0156_OTEL - InternetTrafficReduction.png | Bin 0 -> 101704 bytes text/img/0156_OTEL - OTEL Collector.png | Bin 0 -> 39716 bytes text/img/0156_OTEL - OTELArrowCollector.png | Bin 0 -> 236309 bytes text/img/0156_OTEL - ProtocolSeqDiagram.png | Bin 0 -> 94707 bytes text/img/0156_OTEL - Row vs Column.png | Bin 0 -> 285446 bytes text/img/0156_OTEL-Metric-Model.png | Bin 0 -> 33167 bytes text/img/0156_RecordBatch.png | Bin 0 -> 59855 bytes text/img/0156_logs_bytes.png | Bin 0 -> 467724 bytes text/img/0156_logs_step_times.png | Bin 0 -> 207183 bytes text/img/0156_metrics_small_batches.png | Bin 0 -> 69448 bytes text/img/0156_metrics_step_times.png | Bin 0 -> 192125 bytes text/img/0156_multivariate_metrics_bytes.png | Bin 0 -> 644089 bytes text/img/0156_summary.png | Bin 0 -> 504126 bytes text/img/0156_summary_time_spent.png | Bin 0 -> 275605 bytes text/img/0156_univariate_metrics_bytes.png | Bin 0 -> 845370 bytes 20 files changed, 2159 insertions(+), 346 deletions(-) create mode 100644 text/img/0156_All trials.png create mode 100644 text/img/0156_Best trials.png create mode 100644 text/img/0156_OTEL - Arrow IPC.png create mode 100644 text/img/0156_OTEL - HowToUseArrow.png create mode 100644 text/img/0156_OTEL - InternetTrafficReduction.png create mode 100644 text/img/0156_OTEL - OTEL Collector.png create mode 100644 text/img/0156_OTEL - OTELArrowCollector.png create mode 100644 text/img/0156_OTEL - ProtocolSeqDiagram.png create mode 100644 text/img/0156_OTEL - Row vs Column.png create mode 100644 text/img/0156_OTEL-Metric-Model.png create mode 100644 text/img/0156_RecordBatch.png create mode 100644 text/img/0156_logs_bytes.png create mode 100644 text/img/0156_logs_step_times.png create mode 100644 text/img/0156_metrics_small_batches.png create mode 100644 text/img/0156_metrics_step_times.png create mode 100644 text/img/0156_multivariate_metrics_bytes.png create mode 100644 text/img/0156_summary.png create mode 100644 text/img/0156_summary_time_spent.png create mode 100644 text/img/0156_univariate_metrics_bytes.png diff --git a/text/0156-columnar-encoding.md b/text/0156-columnar-encoding.md index 0ce7b3d8f..c82289937 100644 --- a/text/0156-columnar-encoding.md +++ b/text/0156-columnar-encoding.md @@ -1,392 +1,2205 @@ -# Columnar encoding for the OpenTelemetry protocol +# OTLP Arrow Protocol Specification + +**Author**: Laurent Querel, F5 Inc. + +**Keywords**: OTLP, Arrow, Columnar Storage Format, Bandwidth Reduction, Multivariate Time-series, Logs, Traces. + +**Abstract**: This OTEP extends, in a compatible way, +the [OpenTelemetry protocol (OTEP 0035)](https://github.com/open-telemetry/oteps/blob/main/text/0035-opentelemetry-protocol.md) +with a **generic columnar representation +for metrics, logs and traces**. This extension significantly improves the efficiency of the protocol for specific +scenarios such as [multivariate time-series](#multivariate-time-series), large batches of traces and logs. + + +## Table of contents + +* [Introduction](#introduction) + * [Motivation](#motivation) + * [Validation](#validation) + * [Why Apache Arrow and How to Use It?](#why-apache-arrow-and-how-to-use-it) + * [Integration Strategy and Phasing](#integration-strategy-and-phasing) +* [Protocol Details](#protocol-details) + * [EventStream Service](#eventstream-service) + * [Mapping OTEL Entities to Arrow Records](#mapping-otel-entities-to-arrow-records) + * [Label/Attribute Representation](#labelattribute-representation) + * [Metrics Payload](#metrics-payload) + * [Logs Payload](#logs-payload) + * [Spans Payload](#spans-payload) +* [Implementation Recommendations](#implementation-recommendations) + * [Protocol Extension and Fallback Mechanism](#protocol-extension-and-fallback-mechanism) + * [Batch ID Generation](#batch-id-generation) + * [Substream ID Generation](#substream-id-generation) + * [Schema ID Generation](#schema-id-generation) + * [Traffic Balancing Optimization](#traffic-balancing-optimization) + * [Throttling](#throttling) + * [Best Effort Delivery Guarantee](#best-effort-delivery-guarantee) +* [Risks and Mitigation](#risks-and-mitigations) +* [Trade-offs and Mitigations](#trade-offs-and-mitigations) + * [Duplicate Data](#duplicate-data) + * [Incompatible Backends](#incompatible-backends) + * [Small Devices/Small Telemetry Data Stream](#small-devicessmall-telemetry-data-stream) +* [Future Versions and Interoperability](#future-versions-and-interoperability) +* [Prior Art and Alternatives](#prior-art-and-alternatives) +* [Open Questions](#open-questions) +* [Appendix A - Protocol Buffer Definitions](#appendix-a---protocol-buffer-definitions) +* [Appendix B - Performance Benchmarks](#appendix-b---performance-benchmarks) +* [Appendix C - Parameter Tuning and Design Optimization](#appendix-c---parameter-tuning-and-design-optimization) +* [Appendix C - Schema Examples](#appendix-d---schema-examples) + * [Example of Schema for a Univariate Time-series](#example-of-schema-for-a-univariate-time-series) + * [Example of Schema for a Multivariate Time-series](#example-of-schema-for-a-multivariate-time-series) + * [Example of Schema for a GCP Log with JSON Payload](#example-of-schema-for-a-gcp-log-with-json-payload) + * [Example of Schema for a GCP Log with Proto Payload](#example-of-schema-for-a-gcp-log-with-proto-payload) + * [Example of Schema for a GCP Log with Text Payload](#example-of-schema-for-a-gcp-log-with-text-payload) +* [Glossary](#glossary) +* [Acknowledgements](#acknowledgements) + +## Introduction + +### Motivation + +As telemetry data becomes more widely available and volumes increase, new uses and needs are emerging for the OTLP +ecosystem: cost-effectiveness, advanced data processing, data minimization. This OTEP aims to extend the OTLP +protocol to better address them while maintaining the compatibility with the existing ecosystem. + +Currently, the OTLP protocol uses a "row-oriented" format to represent all the OTEL entities. This representation works +well for small batches (<50 entries) but, as the analytical database industry has shown, a "column-oriented" +representation is more optimal for the transfer and processing of *large batches* of entities. The term "row-oriented" +is used when data is organized into a series of records, keeping all data associated with a record next to each other in +memory. A "column-oriented" system organizes data by fields, grouping all the data associated with a field next to each +other in memory. The main benefits of a columnar approach are: + +* **better data compression rate** (arrays of similar data generally compress better), +* **faster data processing** (see diagram below), +* **faster serialization and deserialization** (few arrays vs many in-memory objects to serialize/deserialize), +* **better IO efficiency** (less data to transmit). + +![row vs column-oriented](img/0156_OTEL%20-%20Row%20vs%20Column.png) + +This OTEP proposes to extend the [OpenTelemetry protocol (OTEP 0035)](https://github.com/open-telemetry/oteps/blob/main/text/0035-opentelemetry-protocol.md) +with a **generic columnar representation for metrics, logs and traces based on Apache Arrow**. Compared to the existing +OpenTelemetry protocol this compatible extension has the following improvements: + +* **Reduce the bandwidth requirements** of the protocol. The two main levers are: 1) a better representation of the + telemetry data based on a columnar representation, 2) a stream-oriented gRPC endpoint that is more efficient to + transmit batches of OTLP entities. +* **Provide a more optimal representation for multivariate time-series data**. + With the current version of the OpenTelemetry protocol, users have to transform multivariate time-series (i.e multiple + related metrics sharing the same attributes and timestamp) into a collection of univariate time-series resulting in a + large amount of duplication and additional overhead covering the entire chain from exporters to backends. +* **Provide more advanced and efficient telemetry data processing capabilities**. Increasing data volume, cost + efficiency, and data minimization require additional data processing capabilities such as data projection, + aggregation, and filtering. + +These improvements not only address the aforementioned needs but also answer the [open questions](https://github.com/open-telemetry/oteps/blob/main/text/0035-opentelemetry-protocol.md#open-questions) +cited in OTEP 035 (i.e. cpu usage, memory pressure, compression optimization). + +**It is important to understand that this proposal is complementary to the existing protocol. The row-oriented version +is still suitable for some scenarios. Telemetry sources that generate a small amount of telemetry data should continue +to use it. On the other side of the spectrum, sources and collectors generating or aggregating a large amount of +telemetry data will benefit from adopting this extension to optimize the resources involved in the transfer and +processing of this data. This adoption can be done incrementally.** + + +Before detailing the specifications of the OTLP Arrow protocol, the following two sections present: 1) a validation of +the value of a columnar approach based on a set of benchmarks, 2) a discussion of the value of using Apache Arrow as a +basis for columnar support in OTLP. + +### Validation + +A series of tests were conducted to compare compression ratios between OTLP and a columnar version of OTLP called OTLP +Arrow. The two key results are: +* For multivariate time series, OTLP Arrow is **4 times better in terms of bandwidth reduction while improving by + 3 the speed** of creation + serialization + compression + decompression + deserialization. +* For logs and traces, OTLP Arrow is **2 times better in terms of bandwidth reduction** while having only a very slight + speed drop for the creation + serialization + compression + decompression + deserialization steps. + +![Summary](img/0156_summary.png) + +Bandwidth gains between *OTLP* and *OTLP Arrow* in a multivariate time series context are represented in the left column. +Similarly, logs are represented in the right column. For both protocols, the baseline is the size of the uncompressed +OTLP messages. The reduction factor is the ratio between this baseline and the compressed message size for each +protocol. + +The following two stacked bar graphs compare side-by-side the distribution of time spent for each step and for each +version of the protocol. The 3x speed-up for the multivariate metrics is visible in the left column. The two protocols +are on par for logs, as shown in the right column. -This OTEP proposes to extend (in a compatible way) the OpenTelemetry protocol with a **generic columnar representation -for metrics, logs and traces**. This extension will significantly improve the efficiency of the protocol for scenarios -such as multivariate time-series, large batches of traces and logs. +![Summary of the time spent](img/0156_summary_time_spent.png) +[Zoom on the chart](https://github.com/F5Networks/otlp-arrow-collector/raw/main/docs/img/summary_time_spent.png) -## Motivation +A more detailed presentation of the benchmarks comparing *OTLP* and *OTLP Arrow* can be found in the following +sections: -With the current version of the OpenTelemetry protocol, users **will have to transform multivariate time-series into a -collection of univariate time-series** resulting in a large amount of duplication and additional overhead covering the -entire chain from exporters to backends. +* [Performance benchmark](#appendix-b---performance-benchmarks) +* [Parameter tuning and design optimization](#appendix-c---parameter-tuning-and-design-optimization) -As Volume of metrics, traces and logs increases to meet new demands, it is important that we build further optimizations -and protocol efficiencies. CPU, memory, and network bandwidth must be optimized to minimize the impact on devices, -processes and overall cost of collecting and transmitting large streams of telemetry data. +> In conclusion, these benchmarks demonstrate the interest of integrating a column-oriented telemetry data protocol to +> optimize bandwidth and processing speed in a batch processing context. -The analytical database industry and more recently the stream processing solutions have used columnar encoding methods -to optimize the processing and the storage of structured data. This proposal aims to leverage this representation to -enhance the OpenTelemetry protocol when handling columnar encoding. -> Definition: a multivariate time series has more than one time-dependent variable. Each variable depends not only on -its past values but also has some dependency on other variables. A 3 axis accelerometer reporting 3 metrics simultaneously; -a mouse move that simultaneously reports the values of x and y, a meteorological weather station reporting temperature, -cloud cover, dew point, humidity and wind speed; an http transaction chararterized by many interrelated metrics sharing -the same attributes are all common examples of multivariate time-series. +### Why Apache Arrow and How to Use It? -This [benchmark](https://github.com/lquerel/otel-multivariate-time-series/blob/main/README2.md) illustrates in detail -the potential gain we can obtain for a multivariate time-series scenario. To represent different scenarios, this -benchmark has been performed with the following batch size: 10, 100, 500, 1000, 5000, 10000. +[Apache Arrow](https://arrow.apache.org/) is a versatile columnar format for flat and hierarchical data, well +established in the industry. Arrow is optimized for: -## Explanation - -Fundamentally metrics, logs and traces are all structured events occurring at a certain time and optionally covering a -specified time span. Creating an efficient and generic representation for events will benefit the entire OpenTelemetry -eco-system. - -Currently all the OTEL entities are stored in "rows". A metric entity is a protobuf message containing timestamp, attributes, -metric value and few other attributes. A batch of metrics behave as a table with multiple rows or metric messages. - -Another way to represent the same data is to represent them in columns instead of rows, i.e. a column containing all the -timestamp, a distinct column per attribute name, a column for the metric values, and so on. This columnar representation is -a proven approach to optimize the creation, size, and processing of data batches. The main benefits of a such approach are: - -* better data compression rate (group of similar data) -* faster data processing (better data locality => better use of the CPU cache lines) -* faster serialization and deserialization (less objects to process) -* faster batch creation (less memory allocation) -* better IO efficiency (less data to transmit) - -The benefit of this approach increases proportionally with the size of the batches. Using the existing "row-oriented" -representation is well suited for small batch scenarios. Therefore, this proposal suggests to **extend** the protocol by -adding a new columnar event entity to better support multivariate time-series and large batches of logs and traces. - -## Internal details - -In addition to the 3 existing resource entities (metrics, logs and traces), we introduce the resource event entity (see [this protobuf specification](#event-proto) -for more details) encoding a batch of events into an Apache Arrow buffer. [Apache Arrow](https://arrow.apache.org/) is -a language-independent columnar memory format for flat and hierarchical data, organized for efficient analytic operations -on modern hardware like CPUs and GPUs. As demonstrated by our [benchmark](https://github.com/lquerel/otel-multivariate-time-series/blob/main/README2.md) -leveraging Apache Arrow will give us access to a mature solution optimized for our exact need as well as a broader ecosystem. - -![resource-events](img/0156-resource-events.svg) - -Efficient implementation of Apache Arrow exists for most of the languages (Java, Go, C++, Rust, ...). Connectors with Apache Arrow -buffer exist for well-known file format (e.g. Parquet) and for well-known backend (e.g. BigQuery). By reusing this existing infrastructure, -we accelerate the development of the OpenTelemetry protocol while expanding its field of application. - -![arrow-ecosystem](img/0156-arrow-ecosystem.svg) - -### OpenTelemetry entities to Arrow mapping - -Apache Arrow is a general-purpose in-memory columnar format with a fast serialization and deserialization support. All -Arrow entities must be defined with a schema. For OpenTelemetry the following Arrow schemas are proposed to map the -existing entities i.e. metrics, logs and traces. **By fixing these schemas we allow all the collector components such as receivers, -processors, and exporters to encode and decode efficiently these telemetry streams.** Nothing will prevent a processor -supporting this protocol extension to filter, aggregate, project Arrow buffers. To do so, the processor will be able to -leverage the processing capability of Apache Arrow to directly process in-situ and with minimum of memory copy the -batches (some Arrow frameworks support SIMD accelerations and SQL data processing). -Alternatively, and although this is not the most optimal approach, it will be entirely possible for processors that -already have a row-oriented processing framework to convert Arrow buffers into a stream of metrics, logs, or traces to -apply their existing processing capabilities, and then rebuild the Arrow buffers before to send the message to other -intermediaries or backends. - -By storing Arrow buffers in a protobuf field of type 'bytes' we can leverage the zero-copy capability of some Protobuf -implementations (e.g. C++, Java, Rust) in order to get the most out of Arrow (relying on zero-copy ser/deser framework). - -Null values support can be configured per field (third parameter in the field description). When enabled, a validity map -mechanism is used. - -> Please read this documentation to get a complete description of the [Arrow Memory Layout](https://arrow.apache.org/docs/format/Columnar.html#format-columnar). -> Notation: For the next 3 sections, the schema definition uses the following notation to declare fields -> Field::new(name, type, nullable) - -#### OpenTelemetry metrics to Arrow mapping - -This Arrow schema describes the representation of univariate and **multivariate** time-series. - -Attributes are mapped to a set of dedicated column scoped by the logical struct 'attributes'. The list of attributes can be easily -determined from the schema by any participants. Metrics follow the same organization and are scoped by the logical -struct 'metrics'. - -Exemplars are encoded with a list of structs instead of a struct of fields (columns). This mapping is -based on the assumption that the number of exemplars can vary greatly from one measurement point to another -for the same time-series. Arrow encodes this type representation with an offsets buffer and a child/data array. -If this assumption is not true, another option will be to declare one column per attribute and exemplar with a validity -bitmap enabled. **This should be validated by experimentation on realistic datasets.** - -For more details on the Arrow Memory Layout see this [document](https://arrow.apache.org/docs/format/Columnar.html#variable-size-binary-layout). - -Note: in Arrow schemas, each field declaration is a triplet following this syntax `Field::new(name, type, semantically_nullable)`. - -```rust -// Multivariate time-series schema declaration -Schema::new(vec![ - // Time range - Field::new("start_time_unix_nano", DataType::UInt64, false), - Field::new("time_unix_nano", DataType::UInt64, false), - - // Attributes - Field::new( - "attributes", - DataType::Struct(vec![ - Field::new("attribute_1", DataType::Utf8, false), - Field::new("attribute_2", DataType::Utf8, false), - // ... - ]), - true, - ), - - // Metrics - // Only one metric in the structure if this schema represent a univariate time-series. - // Multiple fields in the structure to represent multivariate time-series. - Field::new( - "metrics", - DataType::Struct(vec![ - Field::new("metric_1", DataType::Int64, false), - Field::new("metric_2", DataType::Float64, false), - // ... - ]), - false, - ), - - // Exemplars - Field::new("exemplars", DataType::List( - Box::new(Field::new( - "exemplar", - DataType::Struct(vec![ - Field::new("filtered_attributes", DataType::List( - Box::new(Field::new( - "attribute", - DataType::Struct(vec![ - Field::new("name", DataType::Utf8, false), - Field::new("value", DataType::Utf8, false), - ]), - true, - )) - ), true), - Field::new("filtered_attributes", DataType::List( - Box::new(Field::new( - "attribute", - DataType::Struct(vec![ - Field::new("name", DataType::Utf8, false), - Field::new("value", DataType::Utf8, false), - ]), - true, - )) - ), true), - Field::new("time_unix_nano", DataType::UInt64, false), - // Could be Float64 or Int64 - Field::new("value", DataType::Float64, false), - Field::new("span_id", DataType::Binary, true), - Field::new("trace_id", DataType::Binary, true), - ]), - true, - )) - ), true), -]) +* fast serialization and deserialization of columnar data (zero-copy) +* in-memory analytic operations using modern hardware optimizations (e.g. SIMD) +* integration with a large ecosystem (e.g. data pipelines, databases, stream processing, etc.) +* language-independent + +All these properties make Arrow a great choice for a general-purpose telemetry protocol. Efficient implementations of +Apache Arrow exist for most of the languages (Java, Go, C++, Rust, ...). Connectors with Apache Arrow buffer exist for +well-known file format (e.g. Parquet) and for well-known backend (e.g. BigQuery). +By reusing this existing infrastructure (see [Arrow ecosystem](https://arrow.apache.org/powered_by/)), we are accelerating the development and +integration of the OpenTelemetry protocol while expanding its scope of application. + +Adapting the OTLP data format to the Arrow world (see below) is only part of the problem this proposal aims to describe. +Many other design choices and trade-offs have been made, such as: +- the organization of the data (e.g. sorting) and the selection of the compression algorithm to optimize the compression ratio. +- the way to serialize the Arrow data and the selection of the transfer mode (reply/reply vs. bi-dir stream). +- optimization of many parameters introduced in the system. + +![In-memory Apache Arrow RecordBatch](img/0156_OTEL%20-%20HowToUseArrow.png) + +For a more detailed presentation of the approach used, please refer to this section ["Parameter tuning and design optimization"](#appendix-c---parameter-tuning-and-design-optimization). + + +### Integration Strategy and Phasing + +This OTEP enhances the existing OTEL eco-system with an additional representation of telemetry data in columnar form to +better support certain scenarios (e.g. cost-effectiveness to transmit large batch, multivariate time-series, advanced +data processing, data minimization). All existing components will continue to be compatible and operational. + +A two-phase integration is proposed to allow incremental benefits. + + +#### Phase 1 + +This proposal is designed as a protocol extension compatible with the existing OTLP protocol. As illustrated in the +following diagram, a new OTLP-Arrow to OTLP receiver will be responsible for translating the protocol extension to the +existing protocol. Similarly, a new exporter will be responsible for translating the OTLP messages into this new Arrow-based +format. + +![OTEL Collector](img/0156_OTEL%20-%20OTEL%20Collector.png) + +This first step is intended to address the specific use cases of **traffic reduction** and native support of +**multivariate time-series**. Based on community feedback, many companies want to reduce the cost of transferring +telemetry data over the Internet. By adding a collector that acts as a point of integration and traffic conversion at +the edge of a client environment, we can take advantage of the columnar format to eliminate redundant data and optimize +the compression ratio. This is illustrated in the following diagram. + +![Traffic reduction](img/0156_OTEL%20-%20InternetTrafficReduction.png) + +> Note 1: A fallback mechanism can be used to handle the case where the new protocol is not supported by the target. +> More on this mechanism in this [section](#protocol-extension-and-fallback-mechanism). + +#### Phase 2 + +Phase 2 aims to extend the support of Apache Arrow end-to-end and more specifically inside the collector to better +support the following scenarios: cost efficiency, advanced data processing, data minimization. New receivers, processors, +and exporters supporting Apache Arrow natively will be developed. A bidirectional adaptation layer OTLP / OTLP Arrow +will be developed within the collector to continue supporting the existing ecosystem. The following diagram is an +overview of a collector supporting both OTLP and an end-to-end OTLP Arrow pipeline. + +![OTEL Arrow Collector](img/0156_OTEL%20-%20OTELArrowCollector.png) + +Implementing an end-to-end column-oriented pipeline will provide many benefits such as: + +- **Accelerate stream processing**, +- **Reduce CPU and Memory usage**, +- **Improve compression ratio end-to-end**, +- **Access to the Apache Arrow ecosystem** (query engine, parquet support, ...). + + +## Protocol Details + +The protocol specifications are composed of two parts. The first section describes the new gRPC service supporting +column-oriented telemetry data. The second section presents the mapping between the OTLP entities and their Apache +Arrow counterpart. + +### EventStream Service +OTLP Arrow defines the columnar encoding of telemetry data and the gRPC-based protocol used to exchange data between +the client and the server. OTLP Arrow is a bi-directional stream oriented protocol leveraging Apache Arrow for the +encoding of the telemetry data. + +OTLP and OTLP Arrow protocols can be used together and can use the same TCP port. To do so, in addition to the 3 +existing +services (`MetricsService`, `LogsService` and `TraceService`), we introduce the service `EventsService` +(see [this protobuf specification](#appendix-a---protocol-buffer-definitions) for more details) exposing a single API endpoint named `EventStream`. +This endpoint is based on a bidirectional streaming protocol. The ingress side is a `BatchEvents` stream encoding a +batch of events into a set of Apache Arrow buffers (more specifically [Arrow IPC format](#arrow-ipc-format)). The egress +side is a `BatchStatus` stream reporting asynchronously the status of each `BatchEvents` previously sent. + +After establishing the underlying transport the client starts sending telemetry data using the `EventStream` request. +The +client continuously sends `BatchEvent`'s messages over the opened stream to the server and expects to receive +continuously +`BatchStatus`'s messages from the server as illustrated by the following sequence diagram: + +![Sequence diagram](img/0156_OTEL%20-%20ProtocolSeqDiagram.png) + +> Multiple streams can be simultaneously opened between a client and a server to increase the maximum achievable +throughput. + +If the client is shutting down (e.g. when the containing process wants to exit) the client will optionally wait until +all pending acknowledgements are received or until an implementation specific timeout expires. This ensures reliable +delivery of telemetry data. The client implementation should expose an option to turn on and off the waiting during shutdown. +This behavior is described in more details in the section [Best effort delivery guarantee](#best-effort-delivery-guarantee). + +The protobuf definition of this service is: + +```protobuf +service EventsService { + rpc EventStream(stream BatchEvent) returns (stream BatchStatus) {} +} ``` -#### OpenTelemetry logs to Arrow mapping - -This Arrow schema describes the representation of logs. - -Attributes are mapped to a set of dedicated column scoped by the logical struct 'attributes'. The list of attributes can be easily -determined from the schema by any participants. - -For more details on the Arrow Memory Layout see this [document](https://arrow.apache.org/docs/format/Columnar.html#variable-size-binary-layout). - -```rust -// Log schema declaration -Schema::new(vec![ - // Timestamp - Field::new("time_unix_nano", DataType::UInt64, false), - - Field::new("severity_number", DataType::UInt8, false), - Field::new("severity_text", DataType::Utf8, true), - Field::new("name", DataType::Utf8, false), - Field::new("body", DataType::Utf8, true), - Field::new("flags", DataType::Int32, true), - Field::new("span_id", DataType::Binary, true), - Field::new("trace_id", DataType::Binary, true), - - // Attributes - Field::new( - "attributes", - DataType::Struct(vec![ - Field::new("attribute_1", DataType::Utf8, false), - Field::new("attribute_2", DataType::Utf8, false), - // ... - ]), - true, - ), -]) +We use a stream-oriented protocol **to get rid of the overhead of specifying the schema and dictionaries for each +batch.** +A state will be maintained receiver side to keep track of the schemas and dictionaries. +The [Arrow IPC format](#arrow-ipc-format) has been +designed to follow this pattern and also allows the dictionaries to be sent incrementally. + +A `BatchEvent` message is composed of 4 attributes. The protobuf definition is: + +```protobuf +message BatchEvent { + // [mandatory] + string batch_id = 1; + // [mandatory] + string sub_stream_id = 2; + // [mandatory] + repeated OtlpArrowPayload otlp_arrow_payloads = 3; + // [optional] + DeliveryType delivery_type = 4; + // [mandatory] + CompressionMethod compression = 5; +} ``` -#### OpenTelemetry traces to Arrow mapping - -This Arrow schema describes the representation of traces. - -Attributes are mapped to a set of dedicated column scoped by the logical struct 'attributes'. The list of attributes can be easily -determined from the schema by any participants. - -Attributes with a list of structs instead of a struct of fields (columns). This mapping is based on the assumption that -the number of attributes can vary greatly from one log entry to another for the same log stream. Arrow encodes this type -representation with an offsets buffer and a child/data array. If this assumption is not true, another option will be to -declare one column per attribute with a validity bitmap enabled. **This should be validated by experimentation on -realistic datasets.** - -Events and links follow the same representation used for the attributes. - -For more details on the Arrow Memory Layout see this [document](https://arrow.apache.org/docs/format/Columnar.html#variable-size-binary-layout). - -```rust -// Trace schema declaration -Schema::new(vec![ - // Time range - Field::new("start_time_unix_nano", DataType::UInt64, false), - Field::new("end_time_unix_nano", DataType::UInt64, false), - - Field::new("trace_id", DataType::Binary, false), - Field::new("span_id", DataType::Binary, false), - Field::new("trace_state", DataType::Utf8, true), - Field::new("parent_span_id", DataType::Binary, true), - Field::new("name", DataType::Utf8, false), - Field::new("kind", DataType::UInt8, false), - - // Attributes - Field::new( - "attributes", - DataType::Struct(vec![ - Field::new("attribute_1", DataType::Utf8, false), - Field::new("attribute_2", DataType::Utf8, false), - // ... - ]), - true, - ), - - // Events - Field::new("events", DataType::List( - Box::new(Field::new( - "event", - DataType::Struct(vec![ - Field::new("time_unix_nano", DataType::UInt64, false), - Field::new("name", DataType::Utf8, false), - Field::new("attributes", DataType::List( - Box::new(Field::new( - "attribute", - DataType::Struct(vec![ - Field::new("name", DataType::Utf8, false), - Field::new("value", DataType::Utf8, false), - ]), - true, - )) - ), true), - ]), - true, - )) - ), true), - - // Links - Field::new("links", DataType::List( - Box::new(Field::new( - "link", - DataType::Struct(vec![ - Field::new("trace_id", DataType::Binary, false), - Field::new("span_id", DataType::Binary, false), - Field::new("trace_state", DataType::Utf8, false), - Field::new("attributes", DataType::List( - Box::new(Field::new( - "attribute", - DataType::Struct(vec![ - Field::new("name", DataType::Utf8, false), - Field::new("value", DataType::Utf8, false), - ]), - true, - )) - ), true), - ]), - true, - )) - ), true), -]) +The `batch_id` attribute is a unique identifier for the batch inside the scope of the current stream. It is used to +uniquely +identify the batch in the egress `BatchStatus` stream. See the [Batch Id generation](#batch-id-generation) section for +more information on the implementation of this identifier. + +The `sub_stream_id` attribute is a unique identifier for a sub-stream of `BatchEvents` sharing the same schema inside +the +scope of the current stream. This id will be used receiver side to keep track of the schema and dictionaries for a +specific +type of events. See the [Substream Id generation](#substream-id-generation) section for more information on the +implementation +of this identifier. + +The `otlp_arrow_payloads` attribute is a list of `OtlpArrowPayload` messages. Each `OtlpArrowPayload` message represents +a table of data encoded in a columnar format (metrics, logs, or traces). Although not used in the current version of +this protocol, this attribute is an array to allow representing different types of entities with relations between them. +More details on the `OtlpArrowPayload` columns in the +section [Mapping OTEL entities to Arrow records](#mapping-otel-entities-to-arrow-records). + +The `delivery_type` attribute is an optional attribute that can be used to indicate the type of message delivery +guarantee expected by the sender. The delivery types are defined by the following protobuf enumeration: + +```protobuf +enum DeliveryType { + BEST_EFFORT = 0; +} ``` -### Corners cases +The delivery type `BEST_EFFORT` is the default value. This means that the sender expects the receiver to acknowledge +receipt of a message and to do its best to pass the message on to the rest of the downstream chain. + +The `compression` attribute is a mandatory attribute that is used to define the compression algorithms for the different +bytes buffer. + +```protobuf +enum CompressionMethod { + NO_COMPRESSION = 0; + ZSTD = 1; +} +``` + +More specifically, an `OtlpArrowPayload` protobuf message is defined as: + +```protobuf +message OtlpArrowPayload { + OtlpArrowPayloadType type = 1; + bytes schema = 2; + repeated EncodedData dictionaries = 3; + EncodedData record_batch = 4; +} + +enum OtlpArrowPayloadType { + METRICS = 0; + LOGS = 1; + SPANS = 2; +} + +message EncodedData { + bytes ipc_message = 1; + bytes arrow_data = 2; +} +``` + +The `OtlpArrowPayloadType` enum specifies the `type` of the payload. + +The `schema` attribute is a binary representation of the Arrow Schema specifying the columns of the 'record_batch'. This +field is only filled in the first message of each sub-stream. + +The `dictionaries` attribute is a list of binary representations of [Arrow dictionaries](#arrow-dictionary). Several +dictionaries can be defined in the case of an entity containing several text or binary columns. The dictionaries are +filled in the first message of their corresponding sub-stream. When a dictionary is updated, it must be re-emitted in +the corresponding message within the sub-stream. + +The `record_batch` attribute is a binary representation of the Arrow RecordBatch. + +> Note: By storing Arrow buffers in a protobuf field of type 'bytes' we can leverage the zero-copy capability of some +> Protobuf +> implementations (e.g. C++, Java, Rust) in order to get the most out of Arrow (relying on zero-copy ser/deser +> framework). + + +On the egress stream, a `BatchStatus` message is a collection of `StatusMessage`. A `StatusMessage` is composed of 5 +attributes. The protobuf definition is: + +```protobuf +message BatchStatus { + repeated StatusMessage statuses = 1; +} + +message StatusMessage { + string batch_id = 1; + StatusCode status_code = 2; + ErrorCode error_code = 3; + string error_message = 4; + RetryInfo retry_info = 5; +} + +enum StatusCode { + OK = 0; + ERROR = 1; +} + +enum ErrorCode { + UNAVAILABLE = 0; + INVALID_ARGUMENT = 1; +} + +message RetryInfo { + google.protobuf.Duration retry_delay = 1; +} +``` + +The `BatchStatus` message definition is relatively simple and essentially self-explanatory. + +The server may respond with either a success ('OK') or an error ('ERROR') status. Depending on the delivery_type, the +success response indicates telemetry data is successfully received (BEST_EFFORT delivery type) or processed end-to-end +(AT_LEAST_ONCE delivery type). If the server receives an empty `BatchEvent` the server should respond with success. + +When an error is returned by the server it falls into 2 broad categories: retryable and not-retryable: + +* Retryable errors indicate that processing of telemetry data failed and the client should record the error and may + retry exporting the same data. This can happen when the server is temporarily unable to process the data. +* Not-retryable errors indicate that processing of telemetry data failed and the client must not retry sending the same + telemetry data. The telemetry data must be dropped. This can happen, for example, when the request contains bad data + and + cannot be deserialized or otherwise processed by the server. The client should maintain a counter of such dropped + data. + +The server should indicate retryable errors using code UNAVAILABLE and may supply additional details via `error_message` +and `retry_info`. + +To indicate not-retryable errors the server is recommended to use code INVALID_ARGUMENT and may supply additional +details +via `error_message`. + +> Note: [Appendix A](#appendix-a---protocol-buffer-definitions) contains the full protobuf definition. + +### Mapping OTEL Entities to Arrow Records + +Schema-compatible OTEL entities are batched into Apache Arrow RecordBatch. By schema-compatible, we mean a group of +OTEL entities that all share the same exact field set (i.e. name, type, and metadata). An Apache Arrow RecordBatch is +a combination of three things: a schema, a collection of structured data encoded in a columnar format, and a set of +optional dictionaries. A dictionary is an efficient way to encode string (or binary) columns that have low cardinality. +When used in the context of the Arrow IPC format, once the schema and dictionaries have been defined they can be omitted +from all subsequent batches thus **amortizing the schema and dictionary overhead**. This can be achieved with our +stream-oriented API. + +An Apache Arrow schema can define columns of different [types](https://arrow.apache.org/docs/python/api/datatypes.html) +and with or without nullability property. For more details on the Arrow Memory Layout see this +[document](https://arrow.apache.org/docs/format/Columnar.html). + +All OTEL entities sharing the same set of columns are represented by a single Apache Arrow schema in order +to reduce the data sparsity per batch. The tuples (column name, column type, column metadata) are sorted +lexicographically +and then combined to form a unique schema id used to identify schema-compatible OTEL entities. + +The current metric model can be summarized by this UML diagram: + +![OTEL Metrics Model](img/0156_OTEL-Metric-Model.png) + +The leaf nodes (in green in this diagram) are where the data are actually defined as list of attributes and metrics. +Basically the relationship between the metric and resource nodes is a many-to-one relationship. Similarly, the +relationship between the metric and instrumentation library nodes is also a many-to-one relationship. + +Several approaches have been explored to transform this row-oriented representation into a column-oriented +representation (see the section [Design optimization](#appendix-c---parameter-tuning-and-design-optimization)). +The selected approach consists in flattening these three groups of fields (resource, instrumentation library and +metrics) into a single entity. +Although this representation does not seem optimal, it is in fact very efficient for a columnar representation in +conjunction +with dictionaries and a suitable compression algorithm (see the [benchmark](#appendix-b---performance-benchmarks) +section +for more information on this part). The following diagram illustrates this transformation for the metrics. + +![RecordBatch internal](img/0156_RecordBatch.png) + +As the [benchmarks](#appendix-b---performance-benchmarks) show, this representation offers a good compromise between +speed and compression ratio. + +More specifically for the metrics, it is possible to perform an additional transformation to significantly increase the +compression +ratio. The current version of OTLP does not allow to represent multivariate time-series, which leads to an important +duplication of data (the same attributes are repeated for each univariate time-series). This type of time-series is +nevertheless more common than one might think. The CPU and Memory system metrics are a good example of such multivariate +time-series. + +`system.memory.usage` is currently separated into several univariate time-series, the attribute `state` is used to +qualify +each metric. + +* state = used +* state = free +* state = inactive +* ... + +For each of these states, the metrics share the same attributes, timestamp, ... Taken individually, these metrics don't +make much sense. Knowing the free memory without knowing the used memory or the total memory is not very informative. + +OTLP Arrow proposes to support multivariate time-series natively in order to eliminate these duplications. This +transformation can be done automatically with a configuration defining the column(s) similar to the state column in the +previous example. + +To take full advantage of this columnar representation, OTLP Arrow sorts a subset of the text or binary columns to +optimize the locality of identical data, thus increasing the compression ratio. More details on this aspect in the +[Parameter tuning and Design optimization section](#appendix-c---parameter-tuning-and-design-optimization). + +Span objects require a more complex model to represent links and events. Apache Arrow allows to represent lists of +structures. We use this capability to represent links and events. + +Finally, to mitigate the overhead of defining schemas and dictionaries, we use the Arrow IPC format. RecordBatches sharing the +same schema are grouped in a homogeneous stream. The first message sent contains in addition to the columns data, +the schema definition and the dictionaries. The following messages will not need to define the schema anymore. +The dictionaries will only be sent again when their content change. The following diagram illustrates this process. + +![Arrow IPC](img/0156_OTEL%20-%20Arrow%20IPC.png) + +The next sections describe the schema of each type of `OtlpArrowPayload`. We start with a description of the +attribute-to-column mapping because the concept of attribute is common to all payload types. The mapping of OTLP entities +to `OtlpArrowPayload` has been designed to be reversible in order to be able to implement an OTLP Arrow -> OTLP +receiver. + +#### Label/Attribute Representation + +Labels are really just a key-value pair of strings. So their mapping to Arrow columns is therefore simple. Every label +is mapped to an `utf-8` column with name `[label.key]`. These columns are grouped in a `labels` column of type struct. + +Attributes are more complex to represent. Similar to labels, attribute columns are grouped in an `attributes` column of +type struct. However, OTLP attribute types can be much more complex than a simple string. Therefore, the column type +depends on the type of the `AnyValue` described in Protobuf. In most cases, the translation is simple and follow the table below: + +| OTEL data type | Arrow data type | +|----------------|-----------------| +| `int64` | `int64` | +| `double` | `float64` | +| `bool` | `bool` | +| `string` | `utf8` | +| `bytes` | `binary` | + +However, `ArrayValue` and `KeyValueList` are more complex `AnyValue` to represent because they are used to represent a +more complex hierarchy of objects. Two options were **considered** and **tested**: + +* `ArrayValue` is translated to an `Arrow List`, and `KeyValueList` is translated to an `Arrow Struct` making the final + representation highly structured. +* `ArrayValue` and `KeyValueList` are serialized to a normalized JSON string and then stored as a `utf8` column. + +The first option was chosen because it gives the best results (see section [Design optimization](#appendix-c---parameter-tuning-and-design-optimization). + + +#### Metrics Payload + +The set of possible columns for a metric payload is summarized in the following table. + +| Column name | Column type | Required | Description | +|------------------------------|----------------------|----------|-----------------------------------------------------------------------------------------------| +| `resource` | `struct` | No | Structure regrouping the fields of the resource | +| __`attributes` | `struct` | No | Structure regrouping the fields of the resource attributes | +| ____`[key]` | `dynamic` | No | A set of attributes, see [attribute section](#labelattribute-representation) for more details | +| __`dropped_attributes_count` | `uint32` | No | The number of resource dropped attributes. | +| __`schema_url` | `string` | No | Schema url. | +| `instrumentation_library` | `struct` | No | Structure regrouping the fields of the instrumentation library | +| __`name` | `string` | No | Name of the instrumentation library | +| __`version` | `string` | No | Version of the instrumentation library | +| `start_time_unix_nano` | `uint64` | No | The start time for points with cumulative and delta AggregationTemporality | +| `time_unix_nano` | `uint64` | Yes | The moment corresponding to when the data point's aggregate value was captured. | +| `labels` | `struct` | No | Structure regrouping the fields of the labels | +| __`[key]` | `string` | No | A set of labels, see [label section](#labelattribute-representation) for more details | +| `attributes` | `struct` | No | Structure regrouping the fields of the attributes | +| __`[key]` | `dynamic` | No | A set of attributes, see [attribute section](#labelattribute-representation) for more details | +| `gauge_[name]` | `int64` or `float64` | No | A set of gauge metric values. | +| `sum_[name]` | `int64` or `float64` | No | A set of sum metric values. | +| `histogram_[name]` | `struct` | No | Structure regrouping the fields of the histogram | +| __`count` | `int64` | No | A set of histogram count metric values. | +| __`sum` | `float64` | No | A set of histogram sum metric values. | +| __`bucket_counts` | `list int64` | No | A set of histogram bucket counts metric values. | +| __`explicit_bounds` | `list float64` | No | A set of histogram explicit bounds metric values. | +| `exp_histogram_[name]` | `struct` | No | Structure regrouping the fields of the exponential histogram | +| __`count` | `int64` | No | A set of exponential histogram count metric values. | +| __`sum` | `float64` | No | A set of exponential histogram sum metric values. | +| __`scale ` | `int32` | No | A set of exponential histogram scale metric values. | +| __`zero_count` | `uint64` | No | A set of exponential histogram zero count metric values. | +| __`positive_offset` | `int32` | No | A set of exponential histogram positive offset values. | +| __`positive_bucket` | `list uint64` | No | A set of exponential histogram positive bucket counts values. | +| __`negative_offset` | `int32` | No | A set of exponential histogram negative offset values. | +| __`negative_bucket_counts` | `list uint64` | No | A set of exponential histogram negative bucket counts values. | +| `summary_[name]` | `struct` | No | Structure regrouping the fields of the summary | +| __`count` | `int64` | No | A set of summary count metric values. | +| __`sum` | `float64` | No | A set of summary sum metric values. | +| __`quantiles` | `list float64` | No | A set of summary quantiles metric values. | +| __`values ` | `list float64` | No | A set of summary quantile values metric values. | +| `schema_url` | `string` | No | Schema url of the metrics. | +| `examplars` | `list struct` | No | Examplars a list of structs. | +| __`filtered_attributes` | `struct` | No | Structure regrouping the fields of the examplar attributes | +| ____`[key]` | `dynamic` | No | A set of attributes, see [attribute section](#labelattribute-representation) for more details | +| __`filtered_labels` | `struct` | No | Structure regrouping the fields of the examplar labels | +| ____`[key]` | `string` | No | A set of labels, see [label section](#labelattribute-representation) for more details | +| `time_unix_nano` | `uint64` | Yes | The moment corresponding to when the examplar data point's aggregate value was captured. | +| `value` | `int64` or `float64` | No | The value of the measurement. | +| `span_id` | `binary` | No | Identifier of the span. | +| `trace_id` | `binary` | No | Identifier of the trace. | +| `flags` | `uint32` | No | Flags that apply to this specific data point. | + + +A column of type `dynamic` means that the type of this column depends on the type of the OTLP attribute (see section +[attribute representation](#labelattribute-representation) for more details). + +`Gauge`, `Sum`, `Histogram`, `Exponential Histogram`, and `Summary` are represented with a family of columns prefixed +with +the metric kind (i.e. gauge_, sum_, ...), the property (count_, sum_, scale_, ...) and followed by the metric name. + +`Examplars` are represented as a JSON string. **The assumptions are that their use is rare and that the need to process +them at the collector level is low.** + +The attributes `description` and `unit` are attached as metadata to the corresponding column metric. This will get rid +of metadata duplication observed in the existing protocol. + +The attributes `aggregation_temporality` and `is_monotonic` are attached as metadata to the corresponding column +metric (for sum, histogram, and exponential histogram). + +Multivariate metrics can easily be represented as multiple metrics columns sharing the same `start_time_unix_nano`, +and `time_unix_nano`, attributes, ... The name of each multi-variate metric must be unique in the scope of the +corresponding metric type (gauge, sum, histogram, exp_histogram, summary). + +> Open question: `aggregation_temporality` and `is_monotonic` are in this proposal represented as column metadata, but +> they could also be represented as 2 distinct columns if needed. Feedback from the community on this choice will be +> appreciated. + +#### Logs Payload + +Although simpler, a logs 'OtlpArrowPayload' takes a similar approach. + +| Column name | Column type | Required | Description | +|------------------------------|-------------|----------|-----------------------------------------------------------------------------------------------------------------| +| `resource` | `struct` | No | Structure regrouping the fields of the resource | +| __`attributes` | `struct` | No | Structure regrouping the fields of the resource attributes | +| ____`[key]` | `dynamic` | No | A set of attributes, see [attribute section](#labelattribute-representation) for more details | +| __`dropped_attributes_count` | `uint32` | No | The number of resource dropped attributes. | +| __`schema_url` | `string` | No | Schema url. | +| `instrumentation_library` | `struct` | No | Structure regrouping the fields of the instrumentation library | +| __`name` | `string` | No | Name of the instrumentation library | +| __`version` | `string` | No | Version of the instrumentation library | +| `time_unix_nano` | `uint64` | Yes | The time when the event occurred. | +| `severity_number` | `uint8` | Yes | The severity number. | +| `severity_text` | `string` | No | The severity test. | +| `name` | `string` | No | Short event identifier that does not contain varying parts. | +| `body` | `dynamic` | No | The body of the log record (see below for more details). | +| `attributes` | `struct` | No | Structure regrouping the fields of the attributes | +| __`[key]` | `dynamic` | No | A set of attributes, see [attribute section](#labelattribute-representation) for more details | +| `dropped_attributes_count` | `uint64` | No | The number of dropped attributes. | +| `flags` | `uint32` | No | Flags, a bit field. 8 least significant bits are the trace flags as defined in W3C Trace Context specification. | +| `trace_id` | `binary` | No | Identifier of the trace. | +| `span_id` | `binary` | No | Identifier of the span. | + +The type of the column `body` depends on the OTLP type and follows the same transformation rules used in the [attributes](#labelattribute-representation). + +#### Spans Payload + +The set of possible columns for a span payload is summarized in the following table. + +| Column name | Column type | Required | Description | +|------------------------------|------------------|----------|-----------------------------------------------------------------------------------------------| +| `resource` | `struct` | No | Structure regrouping the fields of the resource | +| __`attributes` | `struct` | No | Structure regrouping the fields of the resource attributes | +| ____`[key]` | `dynamic` | No | A set of attributes, see [attribute section](#labelattribute-representation) for more details | +| __`dropped_attributes_count` | `uint32` | No | The number of resource dropped attributes. | +| __`schema_url` | `string` | No | Schema url. | +| `instrumentation_library` | `struct` | No | Structure regrouping the fields of the instrumentation library | +| __`name` | `string` | No | Name of the instrumentation library | +| __`version` | `string` | No | Version of the instrumentation library | +| `trace_id` | `binary` | Yes | Identifier of the trace. | +| `span_id` | `binary` | Yes | Identifier of the span. | +| `trace_state` | `string` | No | trace state. | +| `parent_span_id` | `string` | No | Parent span id. | +| `name` | `string` | No | A description of the span's operation. | +| `kind` | `uint8` | Yes | Distinguishes between spans generated in a particular context. | +| `start_time_unix_nano` | `uint64` | Yes | The start time of the span. | +| `end_time_unix_nano` | `uint64` | Yes | The end time of the span. | +| `attributes` | `struct` | No | Structure regrouping the fields of the attributes | +| __`[key]` | `dynamic` | No | A set of attributes, see [attribute section](#labelattribute-representation) for more details | +| `dropped_attributes_count` | `uint64` | No | The number of dropped attributes. | +| `events` | `list of struct` | No | List of events | +| __`time_unix_nano` | `uint64` | Yes | The time the event occurred | +| __`name` | `string` | Yes | The name of the event. | +| __`attributes` | `struct` | No | Structure regrouping the fields of the event attributes | +| ____`[key]` | `dynamic` | No | A set of attributes, see [label section](#labelattribute-representation) for more details. | +| __`dropped_attributes_count` | `uint64` | No | The number of dropper attributes. | +| `dropped_events_count` | `uint64` | No | The number of dropped events. | +| `links` | `list of struct` | No | List of links | +| __`trace_id` | `binary` | Yes | A unique identifier of a trace that this linked span is part of. | +| __`span_id` | `binary` | Yes | A unique identifier for the linked span. | +| __`trace_state` | `string` | Yes | The trace_state associated with the link. | +| __`attributes` | `struct` | No | Structure regrouping the fields of the event attributes | +| ____`[key]` | `dynamic` | No | A set of attributes, see [label section](#labelattribute-representation) for more details. | +| __`dropped_attributes_count` | `uint64` | No | The number of dropped attributes. | +| `dropped_links_count` | `uint64` | No | The number of dropped links. | +| `status` | `struct` | No | The status of the span. | +| __`deprecated_code` | `uint8` | No | The deprecated status code. | +| __`message` | `string` | No | The status message. | +| __`code` | `uint8` | No | The status code. | + +## Implementation Recommendations + +### Protocol Extension and Fallback Mechanism + +The support of this new protocol can only be progressive, so implementers are advised to follow the following +implementation recommendations (phase 1): + +* OTLP Receiver: Listen on a single TCP port for both OTLP and OTLP Arrow. The goal is to make the support of this + protocol extension + transparent and automatic. This can be achieved by adding the `EventsService` to the same gRPC listener. A + configuration + parameter could be added to the OTLP receiver to disable this default behavior to support specific uses. +* OTLP Exporter: By default the OTLP exporter should initiate a connection to the `EventsService` endpoint of the target + receiver. If this connection fails because the `EventsService` is not implemented by the target, the exporter + must automatically fall back on the behavior of the classic OTLP protocol. A configuration parameter could be added to + disable this default behavior. + +The implementation of these two rules should allow a seamless and adaptive integration of OTLP Arrow into the current +ecosystem. + +### Batch ID Generation + +The `batch_id` attribute is used by the message delivery mechanism. Each `BatchEvent` issued must be associated with a +unique `batch_id`. Uniqueness must be ensured in the scope of the stream opened by the call to the `EventsService`. +This `batch_id` will be used in the `BatchStatus` object to acknowledge receipt and processing of the corresponding +batch. +A simple numeric counter can be used to implement this batch_id, the goal being to use the most concise id possible. + +### Substream ID Generation + +The `sub_stream_id` attribute is used to identify a sub-stream of `BatchEvent` that share the same characteristics. +The life cycle of a substream is as follows: + +* In addition to the data, the first `BatchEvent` will contain its schema and an optional set of dictionaries. + A `sub_stream_id` is created and associated to this `BatchEvent`. +* The following `BatchEvents` sharing the same characteristics then refer to the `sub_stream_id` to avoid the + retransmission of the schema and the dictionaries. Concerning the dictionaries, it is however possible to transmit an + updated version with this mechanism. + +Multiple approaches are possible to create this `sub_stream_id` depending on the producer and the way the telemetry data +is generated. Depending on the context, certain approaches are more appropriate: + +* When the producer is already organized to produce uniform streams then a simple numeric counter can be used. +* A more generic (but less efficient) approach is to generate a hash from the columns names and types (sorted + lexicographically) + and use this hash as `sub_stream_id`. This allows all schema-compatible telemetry data to be sent on the same + substream. Although collisions at this scale will be extremely rare, it is advisable to implement a strategy to avoid + hash collisions (e.g. keep a map of hash -> [(suffix, schema_id), ...]) + +### Schema ID Generation + +Within the collector, batching, filtering, exporting, ... operations require to group the `BatchEvent` having a +compatible schema. A synthetic identifier (or `schema_id`) must be computed for each `BatchEvent` to perform this +grouping. + +Since batch events come from multiple and uncontrolled sources, it is not possible to generalize the use of +the `sub_stream_id` +outside the connection between the source and the collector. There is no guarantee that all sources encode the +`sub_stream_id` in the same way. Therefore, we recommend calculating the schema id in the following way: + +* for each Arrow Schema create a list of triples (name, type, metadata) for each column. +* sort these triples according to a lexicographic order. +* concatenate the sorted triples with a separator and use these identifiers as `schema_id` (or a shorter version via + an equivalence table). + +### Traffic Balancing Optimization + +To mitigate the usual pitfalls of a stream-oriented protocol, protocol implementers are advised to: + +* client side: create several streams in parallel (e.g. create a new stream every 10 event types), +* server side: close streams that have been open for a long time (e.g. close stream every 1 hour). + +These parameters must be exposed in a configuration file and be tuned according to the application. + +### Throttling + +OTLP Arrow allows backpressure signaling. If the server is unable to keep up with the pace of data it receives from the +client then it should signal that fact to the client. The client must then throttle itself to avoid overwhelming the +server. + +To signal backpressure when using OTLP Arrow, the server should return an error with code UNAVAILABLE and may supply +additional details via the `retry_info` attribute. + +When the client receives this signal it should follow the recommendations outlined in documentation for RetryInfo: + +``` +// Describes when the clients can retry a failed request. Clients could ignore +// the recommendation here or retry when this information is missing from error +// responses. +// +// It's always recommended that clients should use exponential backoff when +// retrying. +// +// Clients should wait until `retry_delay` amount of time has passed since +// receiving the error response before retrying. If retrying requests also +// fail, clients should use an exponential backoff scheme to gradually increase +// the delay between retries based on `retry_delay`, until either a maximum +// number of retires have been reached or a maximum retry delay cap has been +// reached. +``` + +The value of retry_delay is determined by the server and is implementation dependant. The server should choose a +retry_delay value that is big enough to give the server time to recover, yet is not too big to cause the client to drop +data while it is throttled. + +Throttling is important for implementing reliable multi-hop telemetry data delivery all the way from the source to the +destination via intermediate nodes, each having different processing capacity and thus requiring different data transfer +rates. -Backends that don't support natively multivariate time-series can still automatically transform these events in multiple univariate time-series and operate as usual. +### Best Effort Delivery Guarantee -Specialized processors can be developed to group metrics, logs and traces in optimized batch of events in order to connect existing OTEL collectors with backends supporting this new protocol extension. +TBD (phase 1) -Specialized processors can be developed to convert batch of events into the existing entities for backends that don't support this protocol extension. -## Trade-offs and mitigations +## Risks and Mitigations -A columnar-oriented protocol is not necessarily desirable for all scenarios (e.g. devices that do not have the resources to accumulate data in batches). The proposed mixed solution allows to better address these different scenarios. +An authentication mechanism is highly recommended to protect against malicious traffic. Without authentication, an OTLP +receiver can be attacked in multiple ways ranging from DoS, traffic amplification to sending sensitive data. -Implementing a new columnar format is complex and costly (multiple language implementations, tests, optimizations, industry adoption). Reusing Apache Arrow is an interesting approach to mitigate this issue. +## Trade-offs and Mitigations -## Prior art and alternatives +### Duplicate Data -* [Column-oriented DBMS](https://en.wikipedia.org/wiki/Column-oriented_DBMS) -* [Apache Arrow](https://arrow.apache.org/) +In edge cases (e.g. on reconnections, network interruptions, etc) the client has no way of knowing if recently sent data +was delivered if no acknowledgement was received yet. The client will typically choose to re-send such data to guarantee +delivery, which may result in duplicate data on the server side. This is a deliberate choice and is considered to be the +right tradeoff for telemetry data. This can be mitigated by using an idempotent insertion mechanism at the data backend +level. -## Open questions +### Incompatible Backends -More work needs to be done around examplars and histograms representation. +Backends that don't support natively multivariate time-series can still automatically transform these events in multiple +univariate time-series and operate as usual. -More discussions should happen on the processor and storage layers. This approach could simplify significantly the design of OTEL compatible stream processing and database systems. +### Small Devices/Small Telemetry Data Stream -## Future possibilities +A columnar-oriented protocol is not necessarily desirable for all scenarios (e.g. devices that do not have the resources +to accumulate data in batches). This protocol extension allows to better respond to these different scenarios by letting +the client select between OTLP or OTLP Arrow protocol depending on the nature of its telemetry traffic. -* Leverage Apache Arrow dictionary +## Future Versions and Interoperability -## Appendices +As far as protocol evolution and interoperability mechanisms are concerned, this extension follows the +[recommendations](https://github.com/open-telemetry/oteps/blob/main/text/0035-opentelemetry-protocol.md#future-versions-and-interoperability) +outlined in the OTLP spec. -### event proto +## Prior Art and Alternatives -Protobuf specification (draft) for an Arrow-based OpenTelemetry event. +We considered using a purely protobuf-based columnar encoding for this protocol extension. The realization of a +prototype and its comparison with [Apache Arrow](https://arrow.apache.org/) dissuaded us to continue in this direction. + +We also considered using [ZST](https://zed.brimdata.io/docs/formats/zst/) from the Zed project as a columnar coding +technology. Although this format has interesting properties, this project has not yet reached a sufficient level of +maturity comparable to Apache Arrow. + + +## Open Questions + +A SQL support for telemetry data processing remains an open question in the current Go collector. The main OTLP query +engine [Datafusion](https://github.com/apache/arrow-datafusion) is implemented in Rust. Several solutions can be +considered: 1) create a Go wrapper on top of Datafusion, 2) implement a Rust collector dedicated to the end-to-end +support of OTLP Arrow, 3) implement a SQL/Arrow engine in Go (big project). A proof of concept using Datafusion has been +implemented in Rust and has shown very good results. + +In some contexts it is important to be able to guarantee the end-to-end delivery of telemetry data (e.g. audit events). +The support of the at-least-once delivery mode requires the participation of all actors in the chain. The client must be +able to persistently store the telemetry data until the receipt of an ack message. The chain of agent + collectors must +carry forward the received acknowledgements from the downstream elements and finally the final backend must be able to +perform idempotent insertion operations and return an acknowledgement when the insertion is successful. The support of a +such guarantee of delivery is still an open question. + +More advanced lightweight compression algorithms on a per column basis could be integrated to the OTLP Arrow +protocol (e.g. delta delta encoding for numerical columns) + +The columnar representation is more efficient for transporting large homogeneous batches. The support of a mixed approach +combining automatically column-oriented and row-oriented batches would allow to cover all scenarios. The development of +a strategy to automatically select the best data representation mode is an open question. + + +## Appendix A - Protocol Buffer Definitions + +Protobuf specification for an Arrow-based OpenTelemetry event. ```protobuf syntax = "proto3"; -package opentelemetry.proto.arrow_events.v1; - -import "opentelemetry/proto/common/v1/common.proto"; -import "opentelemetry/proto/resource/v1/resource.proto"; +package opentelemetry.proto.collector.events.v1; option java_multiple_files = true; -option java_package = "io.opentelemetry.proto.events.v1"; -option java_outer_classname = "EventsProto"; -option go_package = "github.com/open-telemetry/opentelemetry-proto/gen/go/events/v1"; - -// A column-oriented collection of events from a Resource. -message ResourceEvents { - // The resource for the events in this message. - // If this field is not set then no resource info is known. - opentelemetry.proto.resource.v1.Resource resource = 1; - - // A list of events that originate from a resource. - repeated InstrumentationLibraryEvents instrumentation_library_events = 2; - - // This schema_url applies to the data in the "resource" field. It does not apply - // to the data in the "instrumentation_library_events" field which have their own - // schema_url field. - string schema_url = 3; +option java_package = "io.opentelemetry.proto.collector.events.v1"; +option java_outer_classname = "EventsServiceProto"; +option go_package = "github.com/open-telemetry/opentelemetry-proto/gen/go/collector/events/v1"; + +service EventsService { + // The EventStream endpoint is a bi-directional stream used to send batch of events (`BatchEvent`) from the exporter + // to the collector. The collector returns `BatchStatus` messages to acknowledge the `BatchEvent` messages received. + rpc EventStream(stream BatchEvent) returns (stream BatchStatus) {} + + // Futures evolutions, e.g.: command_stream(stream ExporterMessage) return (stream CollectorMessage) {} } -// A collection of Events produced by an InstrumentationLibrary. -message InstrumentationLibraryEvents { - // The instrumentation library information for the events in this message. - // Semantically when InstrumentationLibrary isn't set, it is equivalent with - // an empty instrumentation library name (unknown). - opentelemetry.proto.common.v1.InstrumentationLibrary instrumentation_library = 1; +// A message sent by an exporter to a collector containing a batch of events in the Apache Arrow columnar encoding. +message BatchEvent { + // [mandatory] Batch ID. Must be unique in the context of the stream. + string batch_id = 1; + + // [mandatory] A unique id assigned to a sub-stream of the batch sharing the same schema, and dictionaries. + string sub_stream_id = 2; - // A list of batch of events that originate from an instrumentation library. - repeated BatchEvent batches = 2; + // [mandatory] A collection of payloads containing the data of the batch. + repeated OtlpArrowPayload otlp_arrow_payloads = 3; - // dropped_events_count is the number of dropped events. If the value is 0, then no - // events were dropped. - uint32 dropped_events_count = 3; + // [optional] Delivery type (BEST_EFFORT by default). + DeliveryType delivery_type = 4; } -// A typed collection of events with a columnar-oriented representation. -// All the events in this collection share the same schema url. -message BatchEvent { - // This schema_url applies to all events in this batch. - string schema_url = 1; +// Enumeration of all the OTLP Arrow payload types currently supported by the OTLP Arrow protocol. +enum OtlpArrowPayloadType { + // A payload representing a collection of metrics. + METRICS = 0; + // A payload representing a collection of logs. + LOGS = 1; + // A payload representing a collection of traces. + SPANS = 2; +} + +// Represents a batch of OTLP Arrow entities. +message OtlpArrowPayload { + // [mandatory] Type of the OTLP Arrow payload. + OtlpArrowPayloadType type = 1; + + // [mandatory for the first message] Serialized Arrow Schema in IPC stream format representing the batch of events + // stored in record_batch. The definition of this schema follows a set of naming conventions and defines a set of + // mandatory and optional fields. + // + // For a description of the Arrow IPC format see: https://arrow.apache.org/docs/format/Columnar.html#serialization-and-interprocess-communication-ipc + bytes schema = 2; + + // [optional] Serialized Arrow dictionaries + repeated EncodedData dictionaries = 3; + + // [mandatory] Serialized Arrow Record Batch + EncodedData record_batch = 4; + + // [mandatory] + CompressionMethod compression = 5; +} - uint32 size = 2; +// The delivery mode used to process the message. +// The collector must comply with this parameter. +enum DeliveryType { + BEST_EFFORT = 0; + // Future extension -> AT_LEAST_ONCE = 1; +} + +// The compression method used to compress the different bytes buffer. +enum CompressionMethod { + NO_COMPRESSION = 0; + ZSTD = 1; +} + +// Arrow IPC message +// see: https://arrow.apache.org/docs/format/Columnar.html#serialization-and-interprocess-communication-ipc +message EncodedData { + // Serialized Arrow encoded IPC message + bytes ipc_message = 1; + + // Serialized Arrow buffer + bytes arrow_data = 2; +} - bytes arrow_buffer = 5; +// A message sent by a Collector to the exporter that opened the Jodata stream. +message BatchStatus { + repeated StatusMessage statuses = 1; +} + +message StatusMessage { + string batch_id = 1; + StatusCode status_code = 2; + ErrorCode error_code = 3; + string error_message = 4; + RetryInfo retry_info = 5; +} + +enum StatusCode { + OK = 0; + ERROR = 1; +} + +enum ErrorCode { + UNAVAILABLE = 0; + INVALID_ARGUMENT = 1; +} + +message RetryInfo { + google.protobuf.Duration retry_delay = 1; } ``` + +## Appendix B - Performance Benchmarks + +This section compares the performance of the OTLP protocol with the OTLP Arrow extension for sending batches of +telemetry +data. The main metrics compared are: + +- The size of the batches once compressed to evaluate the bandwidth gain. +- The time spent to create, serialize, compress, decompress, and deserialize the event batches to evaluate the gain in + processing time. + +The telemetry data used for these tests comes from production environments. + +- 200K metric data points (9 types of metrics, see examples [1](#example-of-schema-for-a-univariate-time-series) and + [2](#example-of-schema-for-a-multivariate-time-series)). +- 200K log entries (43 different log structures, see examples [1](#example-of-schema-for-a-gcp-log-with-json-payload), + [2](#example-of-schema-for-a-gcp-log-with-proto-payload), and [3](#example-of-schema-for-a-gcp-log-with-text-payload)). + +> Note: These benchmarks were performed on the basis of a Rust implementation of Apache Arrow. The message sizes for the +> different protocols and configurations should not vary between a Rust and Go implementation. However, the measurement +> times might be a bit different with a Go implementation. A Go implementation is under development, the results will be +> integrated in this document as soon as possible. + +### Metrics + +#### Batch Size Analysis + +In the dataset used, each measurement point is composed of a timestamp, 9 metrics sharing 10 attributes. The dataset +contains 200K measurement points. To transmit this dataset with OTLP, we must first convert this dataset into a stream +of univariate +metrics (i.e. one metric per data point). The special attribute 'state' is added to specify the nature of the metric. +This format follows the same convention as the cpu or memory system metrics issued by the OTEL collector. + +The following multi-line plot shows for different batch sizes, representation modes (OTLP or OTLP Arrow) and compression +algorithms the batch size in bytes once compressed. In this test, the data are not transformed into multivariate +time-series for OTLP Arrow. This will be the subject of the next plot. + +![Univariate metrics bytes](img/0156_univariate_metrics_bytes.png) + +3 compression algorithms have been evaluated for OTLP batches (Zlib, Lz4, and Zstd) in order to compare their efficiency +on a "row-oriented" representation. According to our results Zlib and Zstd are the two best compression algorithms for +OTLP data with a very slight advantage for Zlib. The same compression algorithms have been tested on our new +"column-oriented" representation. Zlib and Zstd are the two best compression algorithms for OTLP Arrow. + +> As this plot shows, the columnar representation is almost twice as efficient in terms of bandwidth gain. However, it +> is +> possible to do much better by taking advantage of the native support for multivariate time-series in OTLP Arrow. + +The following graph compares the best OTLP compression algorithm (Zlib) with OTLP Arrow + Zstd + multivariate time-series +support. + +![Multivariate metrics bytes](img/0156_multivariate_metrics_bytes.png) + +> With this optimization, OTLP Arrow is a little over 4 times more efficient than OTLP. The zstd compression algorithm +> stands out for columnar data. + +Even for small batches of metrics, the OTLP Arrow representation is more efficient than the OTLP representation in a +*multivariate time-series context* (see table below). + +![Metrics small batches](img/0156_metrics_small_batches.png) + +#### Serialization/Compression Time Analysis + +This section compares the time spent creating, serializing, compressing, decompressing and deserializing batches of +metrics with OTLP and OTLP Arrow while looking to optimize message size (Zlib for OTLP and Zstd for OTLP Arrow). In both +cases, the data producer delivers the metrics in a row-oriented approach. The Arrow OTLP implementation therefore +integrate the +row-to-column conversion time. + +The following stacked bar plot compares side by side the distribution of time spent for each step and for each version +of the protocol. + +![Breakdown of time per step for each batch size and each protocol](img/0156_metrics_step_times.png) + +When cumulating the times of all steps, OTLP Arrow (with multivariate time-series encoding) is 3 times faster than +standard OTLP. + +The batch creation phase for OTLP Arrow represents almost all the time spent. Serialization and deserialization times +are +almost zero due to the use of Flatbuffer by Apache Arrow (ser/deser without parsing/unpacking). Compression and +decompression +times are extremely low due to the fact that the size of the Arrow OTLP message before compression is more than 30 times +smaller than an OTLP message with the same content (see previous table). + +> It should be possible to significantly optimize the creation of OTLP Arrow batches for contexts where the structure +> of the metrics to be sent is known in advance. + +### Logs + +#### Batch Size Analysis + +The dataset used for this benchmark contains 200K logs with 43 different structures (i.e. combination of different +fields). + +The following multi-line plot show the compressed batch size in bytes for different protocols and combination of +parameters: + +* protocol (OTLP or OTLP Arrow) +* batch size (5000, 10000, 25000, 50000, 100000) +* compression algorithms (Zlib, Lz4, Zstd) +* Sorted vs unsorted columns (only for OTLP Arrow) + +![Metrics bytes](img/0156_logs_bytes.png) + +The best results are obtained with OTLP Arrow + text column sorting + Zstd. This corroborates the results in the +columnar +database domain. The compression algorithm is much better on columns that are sorted or partially sorted. + +In the case of logs, the Zstd compression algorithm is the best for both OTLP and OTLP Arrow. + +> The compression ratio for OTLP Arrow is about twice that of OTLP. + +#### Serialization/Compression Time Analysis + +This section compares the time spent creating, serializing, compressing, decompressing and deserializing batches of +metrics with OTLP and OTLP Arrow while looking to optimize message size. In both cases, the data producer delivers the +logs in a row-oriented approach. The Arrow OTLPs therefore integrate the row-to-column conversion time. + +The following stacked bar plot compares side by side the distribution of time spent for each step and for each version +of the protocol. + +![Breakdown of time per step for each batch size and each protocol](img/0156_logs_step_times.png) + +When cumulating the times of all steps, OTLP Arrow (with sorted columns) is ~0.90 slower than standard OTLP. This is +mainly due to the ordering of the text columns. Without column sorting, OTLP Arrow is 1.3 times +faster than OTLP. For bandwidth optimization it is therefore recommended, at the cost of a slight processing slowdown, +to activate column sorting (see +appendix [Parameter tuning and design optimization](#appendix-c---parameter-tuning-and-design-optimization) +for more details on the parameters to select the columns to sort). + +The batch creation+sorting phase for OTLP Arrow represents almost all the time spent. Serialization and deserialization +times are +almost zero due to the use of Flatbuffer by Apache Arrow (ser/deser without parsing/unpacking). Compression and +decompression +times are low due to the fact that the size of the Arrow OTLP message before compression is more than 7 times +smaller than an OTLP message with the same content. + +> It should be possible to significantly optimize the creation of OTLP Arrow batches for contexts where the structure +> of the logs to be sent is known in advance. + +### Traces + +No benchmark has been conducted for traces due to lack of a dataset containing traces with links and events. + +Please feel free to share a dataset with such characteristics to complete this document. + +## Appendix C - Parameter Tuning and Design Optimization + +This section describes the systematic approach used to optimize the Arrow OTLP design and its parameters. The approach +is +based on an optimization technique called "blackbox optimization" which allows to describe the system to be optimized as +a black box with a set of input parameters and an output corresponding to the value of a function to be optimized +(maximize or minimize). This technique is described in detail in the +article [Optimize your applications using Google Vertex AI Vizier](https://cloud.google.com/blog/products/ai-machine-learning/optimize-your-applications-using-google-vertex-ai-vizier) +. + +In this analysis, the function to optimize is the compression ratio for a set of parameters. We will focus on optimizing +the protocol design for logs (the same approach has been applied for metrics). The parameters explored are: + +* compression algorithm (Zlib, Zstd, and Lz4) +* serialization mode + * normalized: resources, instrumentation libraries, metrics, logs, traces, events, and links are mapped in a + dedicated + RecordBatch. A set of primary and secondary keys are used to recreate the relationships between these different + entities. + * denormalized: resource, instrumentation library, event, and link fields are replicated for every metrics, logs, + and traces. +* dictionary configuration + * min_row_count: The creation of a dictionary will be performed only on columns with more than `min_row_count` + elements. + * max_card: The creation of a dictionary will be performed only on columns with a cardinality lower than `max_card`. + * max_card_ratio: The creation of a dictionary will only be performed on columns with a ratio `card` / `size` < + = `max_card_ratio`. + * max_sorted: Maximum number of sorted dictionaries (based on cardinality/total_size and avg_data_lenght). +* batch_size: Size of the batch before serialization and compression. + +The following parallel coordinates chart represents the execution of 200 trials selected by Google AI Vizier in order to +optimize the compression ratio per batch. + +![All trials](img/0156_All%20trials.png) + +By selecting the highest value range for the compression ratio, it is possible to get a more precise idea of the optimal +parameters for the log system in OTLP Arrow. This is represented by the following diagram: + +![Best trials](img/0156_Best%20trials.png) + +From this analysis, we can conclude that for the tested data, the best parameters are: + +* compression_algorithm -> Zstd +* serialization_mode -> Denormalized (mode used in the benchmark appendix) +* min_row_count -> 25 logs +* max_card -> 255 distinct values +* max_card_ratio -> 0.22 +* max_sorted -> 13 sorted dictionaries +* batch size -> 50K logs + +## Appendix D - Schema Examples + +### Example of Schema for a Univariate Time-series + +```json +{ + "fields": [ + { + "name": "start_time_unix_nano", + "data_type": "UInt64" + }, + { + "name": "time_unix_nano", + "data_type": "UInt64" + }, + { + "name": "attributes", + "data_type": { + "Struct": [ + { + "name": "method", + "data_type": { + "Dictionary": [ + "UInt8", + "Utf8" + ] + }, + "nullable": true, + "dict_id": 0, + "dict_is_ordered": true + }, + { + "name": "remote_address", + "data_type": { + "Dictionary": [ + "UInt8", + "Utf8" + ] + }, + "nullable": true, + "dict_id": 1, + "dict_is_ordered": true + }, + { + "name": "source", + "data_type": "Utf8", + "nullable": true + }, + { + "name": "state", + "data_type": { + "Dictionary": [ + "UInt8", + "Utf8" + ] + }, + "nullable": true, + "dict_id": 3, + "dict_is_ordered": true + }, + { + "name": "url", + "data_type": { + "Dictionary": [ + "UInt8", + "Utf8" + ] + }, + "nullable": true, + "dict_id": 4, + "dict_is_ordered": true + } + ] + } + }, + { + "name": "instrumentation_library", + "data_type": { + "Struct": [ + { + "name": "name", + "data_type": { + "Dictionary": [ + "UInt8", + "Utf8" + ] + }, + "nullable": true, + "dict_id": 5, + "dict_is_ordered": true + }, + { + "name": "version", + "data_type": { + "Dictionary": [ + "UInt8", + "Utf8" + ] + }, + "nullable": true, + "dict_id": 6, + "dict_is_ordered": true + } + ] + } + }, + { + "name": "metrics", + "data_type": { + "Struct": [ + { + "name": "http_transaction", + "data_type": "Int64" + } + ] + } + }, + { + "name": "resource", + "data_type": { + "Struct": [ + { + "name": "attributes", + "data_type": { + "Struct": [ + { + "name": "host", + "data_type": { + "Dictionary": [ + "UInt8", + "Utf8" + ] + }, + "nullable": true, + "dict_id": 7, + "dict_is_ordered": true + }, + { + "name": "instance_id", + "data_type": { + "Dictionary": [ + "UInt8", + "Utf8" + ] + }, + "nullable": true, + "dict_id": 8, + "dict_is_ordered": true + }, + { + "name": "service_name", + "data_type": { + "Dictionary": [ + "UInt8", + "Utf8" + ] + }, + "nullable": true, + "dict_id": 9, + "dict_is_ordered": true + } + ] + } + } + ] + } + } + ] +} +``` + +### Example of Schema for a Multivariate Time-series + +```json +{ + "fields": [ + { + "name": "start_time_unix_nano", + "data_type": "UInt64" + }, + { + "name": "time_unix_nano", + "data_type": "UInt64" + }, + { + "name": "attributes", + "data_type": { + "Struct": [ + { + "name": "method", + "data_type": { + "Dictionary": [ + "UInt8", + "Utf8" + ] + }, + "nullable": true, + "dict_id": 0, + "dict_is_ordered": true + }, + { + "name": "remote_address", + "data_type": { + "Dictionary": [ + "UInt8", + "Utf8" + ] + }, + "nullable": true, + "dict_id": 1, + "dict_is_ordered": true + }, + { + "name": "source", + "data_type": "Utf8" + }, + { + "name": "url", + "data_type": { + "Dictionary": [ + "UInt8", + "Utf8" + ] + }, + "nullable": true, + "dict_id": 3, + "dict_is_ordered": true + } + ] + } + }, + { + "name": "instrumentation_library", + "data_type": { + "Struct": [ + { + "name": "name", + "data_type": { + "Dictionary": [ + "UInt8", + "Utf8" + ] + }, + "nullable": true, + "dict_id": 4, + "dict_is_ordered": true + }, + { + "name": "version", + "data_type": { + "Dictionary": [ + "UInt8", + "Utf8" + ] + }, + "nullable": true, + "dict_id": 5, + "dict_is_ordered": true + } + ] + } + }, + { + "name": "metrics", + "data_type": { + "Struct": [ + { + "name": "content_transfer", + "data_type": "Int64" + }, + { + "name": "dns_lookup", + "data_type": "Int64" + }, + { + "name": "failure_count", + "data_type": "Int64" + }, + { + "name": "health_status", + "data_type": "Int64" + }, + { + "name": "server_processing", + "data_type": "Int64" + }, + { + "name": "size", + "data_type": "Int64" + }, + { + "name": "tcp_connection", + "data_type": "Int64" + }, + { + "name": "tls_handshake", + "data_type": "Int64" + } + ] + } + }, + { + "name": "resource", + "data_type": { + "Struct": [ + { + "name": "attributes", + "data_type": { + "Struct": [ + { + "name": "host", + "data_type": { + "Dictionary": [ + "UInt8", + "Utf8" + ] + }, + "nullable": true, + "dict_id": 6, + "dict_is_ordered": true + }, + { + "name": "instance_id", + "data_type": { + "Dictionary": [ + "UInt8", + "Utf8" + ] + }, + "nullable": true, + "dict_id": 7, + "dict_is_ordered": true + }, + { + "name": "service_name", + "data_type": { + "Dictionary": [ + "UInt8", + "Utf8" + ] + }, + "nullable": true, + "dict_id": 8, + "dict_is_ordered": true + } + ] + } + } + ] + } + } + ] +} +``` + +### Example of Schema for a GCP Log with JSON Payload + +```json +{ + "fields": [ + { + "name": "severity_number", + "data_type": "Int32" + }, + { + "name": "time_unix_nano", + "data_type": "UInt64" + }, + { + "name": "name", + "data_type": { + "Dictionary": [ + "UInt8", + "Utf8" + ] + }, + "nullable": true, + "dict_id": 17, + "dict_is_ordered": true + }, + { + "name": "severity_text", + "data_type": { + "Dictionary": [ + "UInt8", + "Utf8" + ] + }, + "nullable": true, + "dict_id": 24, + "dict_is_ordered": true + }, + { + "name": "attributes", + "data_type": { + "Struct": [ + { + "name": "jsonPayload", + "data_type": "Boolean" + }, + { + "name": "compute.googleapis.com/resource_id", + "data_type": { + "Dictionary": [ + "UInt8", + "Utf8" + ] + }, + "nullable": true, + "dict_id": 0, + "dict_is_ordered": true + }, + { + "name": "compute.googleapis.com/resource_name", + "data_type": { + "Dictionary": [ + "UInt8", + "Utf8" + ] + }, + "nullable": true, + "dict_id": 1, + "dict_is_ordered": true + }, + { + "name": "compute.googleapis.com/resource_type", + "data_type": { + "Dictionary": [ + "UInt8", + "Utf8" + ] + }, + "nullable": true, + "dict_id": 2, + "dict_is_ordered": true + }, + { + "name": "dataflow.googleapis.com/job_id", + "data_type": { + "Dictionary": [ + "UInt8", + "Utf8" + ] + }, + "nullable": true, + "dict_id": 3, + "dict_is_ordered": true + }, + { + "name": "dataflow.googleapis.com/job_name", + "data_type": { + "Dictionary": [ + "UInt8", + "Utf8" + ] + }, + "nullable": true, + "dict_id": 4, + "dict_is_ordered": true + }, + { + "name": "dataflow.googleapis.com/log_type", + "data_type": { + "Dictionary": [ + "UInt8", + "Utf8" + ] + }, + "nullable": true, + "dict_id": 5, + "dict_is_ordered": true + }, + { + "name": "dataflow.googleapis.com/region", + "data_type": { + "Dictionary": [ + "UInt8", + "Utf8" + ] + }, + "nullable": true, + "dict_id": 6, + "dict_is_ordered": true + }, + { + "name": "insertId", + "data_type": "Utf8" + }, + { + "name": "receiveTimestamp", + "data_type": { + "Dictionary": [ + "UInt8", + "Utf8" + ] + }, + "nullable": true, + "dict_id": 8, + "dict_is_ordered": true + } + ] + } + }, + { + "name": "body", + "data_type": { + "Struct": [ + { + "name": "job", + "data_type": { + "Dictionary": [ + "UInt8", + "Utf8" + ] + }, + "nullable": true, + "dict_id": 9, + "dict_is_ordered": true + }, + { + "name": "logger", + "data_type": { + "Dictionary": [ + "UInt8", + "Utf8" + ] + }, + "nullable": true, + "dict_id": 10, + "dict_is_ordered": true + }, + { + "name": "message", + "data_type": "Utf8" + }, + { + "name": "stage", + "data_type": { + "Dictionary": [ + "UInt8", + "Utf8" + ] + }, + "nullable": true, + "dict_id": 12, + "dict_is_ordered": true + }, + { + "name": "step", + "data_type": { + "Dictionary": [ + "UInt8", + "Utf8" + ] + }, + "nullable": true, + "dict_id": 13, + "dict_is_ordered": true + }, + { + "name": "thread", + "data_type": "Utf8" + }, + { + "name": "work", + "data_type": "Utf8" + }, + { + "name": "worker", + "data_type": { + "Dictionary": [ + "UInt8", + "Utf8" + ] + }, + "nullable": true, + "dict_id": 16, + "dict_is_ordered": true + } + ] + } + }, + { + "name": "resource", + "data_type": { + "Struct": [ + { + "name": "attributes", + "data_type": { + "Struct": [ + { + "name": "job_id", + "data_type": { + "Dictionary": [ + "UInt8", + "Utf8" + ] + }, + "nullable": true, + "dict_id": 18, + "dict_is_ordered": true + }, + { + "name": "job_name", + "data_type": { + "Dictionary": [ + "UInt8", + "Utf8" + ] + }, + "nullable": true, + "dict_id": 19, + "dict_is_ordered": true + }, + { + "name": "project_id", + "data_type": { + "Dictionary": [ + "UInt8", + "Utf8" + ] + }, + "nullable": true, + "dict_id": 20, + "dict_is_ordered": true + }, + { + "name": "region", + "data_type": { + "Dictionary": [ + "UInt8", + "Utf8" + ] + }, + "nullable": true, + "dict_id": 21, + "dict_is_ordered": true + }, + { + "name": "step_id", + "data_type": { + "Dictionary": [ + "UInt8", + "Utf8" + ] + }, + "nullable": true, + "dict_id": 22, + "dict_is_ordered": true + }, + { + "name": "type", + "data_type": { + "Dictionary": [ + "UInt8", + "Utf8" + ] + }, + "nullable": true, + "dict_id": 23, + "dict_is_ordered": true + } + ] + } + } + ] + } + } + ] +} +``` + +### Example of Schema for a GCP Log with Proto Payload + +```json +{ + "fields": [ + { + "name": "severity_number", + "data_type": "Int32" + }, + { + "name": "time_unix_nano", + "data_type": "UInt64" + }, + { + "name": "name", + "data_type": "Utf8" + }, + { + "name": "severity_text", + "data_type": "Utf8" + }, + { + "name": "attributes", + "data_type": { + "Struct": [ + { + "name": "protoPayload", + "data_type": "Boolean" + }, + { + "name": "insertId", + "data_type": "Utf8" + }, + { + "name": "receiveTimestamp", + "data_type": "Utf8" + } + ] + } + }, + { + "name": "body", + "data_type": { + "Struct": [ + { + "name": "@type", + "data_type": "Utf8" + }, + { + "name": "methodName", + "data_type": "Utf8" + }, + { + "name": "resourceName", + "data_type": "Utf8" + }, + { + "name": "serviceName", + "data_type": "Utf8" + }, + { + "name": "authenticationInfo", + "data_type": { + "Struct": [ + { + "name": "principalEmail", + "data_type": "Utf8" + } + ] + } + }, + { + "name": "metadata", + "data_type": { + "Struct": [ + { + "name": "@type", + "data_type": "Utf8" + }, + { + "name": "tableDataRead", + "data_type": { + "Struct": [ + { + "name": "jobName", + "data_type": "Utf8" + }, + { + "name": "reason", + "data_type": "Utf8" + }, + { + "name": "fields", + "data_type": { + "List": { + "name": "item", + "data_type": { + "Dictionary": [ + "UInt8", + "Utf8" + ] + }, + "nullable": true, + "dict_id": 0, + "dict_is_ordered": false + } + } + } + ] + } + } + ] + } + }, + { + "name": "requestMetadata", + "data_type": { + "Struct": [ + { + "name": "callerIp", + "data_type": "Utf8" + }, + { + "name": "callerSuppliedUserAgent", + "data_type": "Utf8" + } + ] + } + } + ] + } + }, + { + "name": "resource", + "data_type": { + "Struct": [ + { + "name": "attributes", + "data_type": { + "Struct": [ + { + "name": "dataset_id", + "data_type": "Utf8" + }, + { + "name": "project_id", + "data_type": "Utf8" + }, + { + "name": "type", + "data_type": "Utf8" + } + ] + } + } + ] + } + } + ] +} +``` + +### Example of Schema for a GCP Log with Text Payload + +```json +{ + "fields": [ + { + "name": "severity_number", + "data_type": "Int32" + }, + { + "name": "time_unix_nano", + "data_type": "UInt64" + }, + { + "name": "body", + "data_type": { + "Dictionary": [ + "UInt8", + "Utf8" + ] + }, + "nullable": true, + "dict_id": 3, + "dict_is_ordered": true + }, + { + "name": "name", + "data_type": { + "Dictionary": [ + "UInt8", + "Utf8" + ] + }, + "nullable": true, + "dict_id": 4, + "dict_is_ordered": true + }, + { + "name": "attributes", + "data_type": { + "Struct": [ + { + "name": "textPayload", + "data_type": "Boolean" + }, + { + "name": "insertId", + "data_type": "Utf8" + }, + { + "name": "instanceId", + "data_type": { + "Dictionary": [ + "UInt8", + "Utf8" + ] + }, + "nullable": true, + "dict_id": 1, + "dict_is_ordered": true + }, + { + "name": "receiveTimestamp", + "data_type": { + "Dictionary": [ + "UInt8", + "Utf8" + ] + }, + "nullable": true, + "dict_id": 2, + "dict_is_ordered": true + } + ] + } + }, + { + "name": "resource", + "data_type": { + "Struct": [ + { + "name": "attributes", + "data_type": { + "Struct": [ + { + "name": "configuration_name", + "data_type": { + "Dictionary": [ + "UInt8", + "Utf8" + ] + }, + "nullable": true, + "dict_id": 5, + "dict_is_ordered": true + }, + { + "name": "location", + "data_type": { + "Dictionary": [ + "UInt8", + "Utf8" + ] + }, + "nullable": true, + "dict_id": 6, + "dict_is_ordered": true + }, + { + "name": "project_id", + "data_type": { + "Dictionary": [ + "UInt8", + "Utf8" + ] + }, + "nullable": true, + "dict_id": 7, + "dict_is_ordered": true + }, + { + "name": "revision_name", + "data_type": { + "Dictionary": [ + "UInt8", + "Utf8" + ] + }, + "nullable": true, + "dict_id": 8, + "dict_is_ordered": true + }, + { + "name": "service_name", + "data_type": { + "Dictionary": [ + "UInt8", + "Utf8" + ] + }, + "nullable": true, + "dict_id": 9, + "dict_is_ordered": true + }, + { + "name": "type", + "data_type": { + "Dictionary": [ + "UInt8", + "Utf8" + ] + }, + "nullable": true, + "dict_id": 10, + "dict_is_ordered": true + } + ] + } + } + ] + } + } + ] +} +``` + +## Glossary + +### Arrow Dictionary + +Apache Arrow allows to encode a text or binary column as a dictionary (numeric index -> text/binary buffer). When this +encoding is used, the column contains only the index values and the dictionary is attached to the schema for reference. +This type of encoding significantly reduce the space occupied by text or binary columns with low cardinalities +(less than a few thousand entries). See Apache Arrow [documentation](https://arrow.apache.org/docs/python/data.html#dictionary-arrays) +for more details. + +### Arrow IPC Format + +The [Arrow IPC format](https://arrow.apache.org/docs/python/ipc.html) is used to efficiently send homogenous record +batches in stream mode. The schema is only sent at the beginning of the stream. Dictionaries are only sent when they are +updated. + +### Multivariate Time-series + +A multivariate time series has more than one time-dependent variable. Each variable depends not only on +its past values but also has some dependency on other variables. A 3 axis accelerometer reporting 3 metrics +simultaneously; a mouse move that simultaneously reports the values of x and y, a meteorological weather station +reporting temperature, cloud cover, dew point, humidity and wind speed; an http transaction chararterized by many +interrelated metrics sharing the same attributes are all common examples of multivariate time-series. + +## Acknowledgements + +Special thanks to Tigran Najaryan, who helped define the integration strategy with the existing OTLP protocol, and +Sebastien Soudan for our numerous exchanges and advice on data representation. + +Thanks to Joshua MacDonald, Josh Suereth, Michael Wiley, and Granville Schmidt for their contribution and support +throughout the process. + +Finally, many thanks to F5 for supporting this effort. \ No newline at end of file diff --git a/text/img/0156_All trials.png b/text/img/0156_All trials.png new file mode 100644 index 0000000000000000000000000000000000000000..0a9bdce47a49365811d6f92576cc085867c3b318 GIT binary patch literal 649493 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

2}DlexFDgVp=ayEj~*f^u} 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 z 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

)1OnK#CwyRg3iSK-4o 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⋙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%0DmuP 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 PCH#@9*8LJ?i#PuVMli$; literal 0 HcmV?d00001 From f3739cf5ab591ef7bc9e6ff21694428e4d438461 Mon Sep 17 00:00:00 2001 From: Laurent Querel Date: Mon, 17 May 2021 21:39:54 -0700 Subject: [PATCH 016/130] Update OTEP --- text/metrics/0000-multivariate-timeseries.md | 26 ++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/text/metrics/0000-multivariate-timeseries.md b/text/metrics/0000-multivariate-timeseries.md index c5121aa49..37e0ee015 100644 --- a/text/metrics/0000-multivariate-timeseries.md +++ b/text/metrics/0000-multivariate-timeseries.md @@ -57,6 +57,9 @@ experience: * a collection of metadata describing each metric. * a set of columnar representation for the timestamps, attributes, metric values and examplars (all aligned together). +As multivariate time-series are a superset of univariate time-series, this representation is a generalization of the +existing model. + For backends that natively support mutlivariate time-series, the data will be stored without complex processing. For backends that only support univariate time-series, the data stream will be transformed into a collection of univariate time-series. @@ -74,6 +77,29 @@ The benefits of this columnar representation are: ## Internal details +The three following approaches have been identified to implement this proposal: +1. Add the concept of multivariate time-series in addition to the existing metric object defined in the InstrumentationLibraryMetrics + message. +2. Replace the existing Metric message by a generalized version supporting multivariate time-series represented in a columnar encoding. +3. Use the structured logs and introduce the concept of schema to support the definition of metrics directly in the logs. + +The first option is fully backward compatible with the existing protocol. + +The second option unify the representation of univariate and multivariate time-series at the protocol level. This approach +is not backward compatible with the existing protocol. + +The third option will require more work, will not leverage the existing metric-oriented processing layer already in place +to filter and aggregate metrics, and will not simplify the understandability of the Open Telemetry model as metrics will be +defined in multiple locations. An alternative to this option will be to unify every data (metric, log, trace) to a unique +internal representation based on the concept of structured event. Although interesting, this option can't easily be +introduced at this stage of development of the Open Telemetry protocol without a complex modification of the eco-system. + +The selection between option 1 and 2 is a decision to be made on the basis of the changes the community is willing to +accept at this level of protocol maturity. The option 2 offers a more unified experience than option 1 and should be +preferred if the introduction of incompatible changes are accepted by the community. + + + [TBD] From a technical perspective, how do you propose accomplishing the proposal? In particular, please explain: From ec813fec7739d163a31a28de9b146ba08f79aa05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurent=20Qu=C3=A9rel?= Date: Tue, 10 Aug 2021 13:50:12 -0700 Subject: [PATCH 017/130] Create OTEP 0156 --- text/0156-columnar-encoding.md | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 text/0156-columnar-encoding.md diff --git a/text/0156-columnar-encoding.md b/text/0156-columnar-encoding.md new file mode 100644 index 000000000..17f6918bd --- /dev/null +++ b/text/0156-columnar-encoding.md @@ -0,0 +1,33 @@ +# Columnar encoding for the Open Telemetry protocol + +This OTEP proposes to extend (in a compatible way) the Open Telemetry protocol with a generic columnar representation +for metrics, logs and traces. This extension will significantly improve the efficiency of the protocol for scenarios +such as multivariate time-series, large batches of traces and logs. + +## Motivation + +With the current version of the OpenTelemetry protocol, users are forced to transform multivariate time-series into a +collection of univariate time-series resulting in a large amount of duplication and additional overhead covering the +entire chain from exporters to backends. + +The volume of metrics, traces and logs is constantly increasing to meet new scenarios where accuracy and completeness +of measurements are important. Therefore, the efficiency of the protocol capturing these large telemetry streams is crucial. + +The analytical database industry and more recently the stream processing solutions have used columnar encoding methods +to optimize the processing and the storage of structured data. This proposal aims to leverage this representation to +make the Open Telemetry protocol more efficient end-to-end. + +> Definition: a multivariate time series has more than one time-dependent variable. Each variable depends not only on +its past values but also has some dependency on other variables. A 3 axis accelerometer reporting 3 metrics simultaneously; +a mouse move that simultaneously reports the values of x and y, a meteorological weather station reporting temperature, +cloud cover, dew point, humidity and wind speed; an http transaction chararterized by many interrelated metrics sharing +the same labels are all common examples of multivariate time-series. + +This [benchmark](https://github.com/lquerel/otel-multivariate-time-series/blob/main/README2.md) illustrates the potential +gain we can obtain for a multivariate time-series scenario. + +## Explanation + +Fundamentally metrics, logs and traces are all structured events occurring at a certain time and optionally covering a +specified time span. Creating an efficient and generic representation for events will benefit the entire Open Telemetry +eco-system. From 8c34a9153b520dabdf93904e2a05bb22efc80412 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurent=20Qu=C3=A9rel?= Date: Tue, 10 Aug 2021 14:21:50 -0700 Subject: [PATCH 018/130] Add columnar encoding benefits --- text/0156-columnar-encoding.md | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/text/0156-columnar-encoding.md b/text/0156-columnar-encoding.md index 17f6918bd..4c6d5ef6d 100644 --- a/text/0156-columnar-encoding.md +++ b/text/0156-columnar-encoding.md @@ -1,13 +1,13 @@ # Columnar encoding for the Open Telemetry protocol -This OTEP proposes to extend (in a compatible way) the Open Telemetry protocol with a generic columnar representation -for metrics, logs and traces. This extension will significantly improve the efficiency of the protocol for scenarios +This OTEP proposes to extend (in a compatible way) the Open Telemetry protocol with a **generic columnar representation +for metrics, logs and traces**. This extension will significantly improve the efficiency of the protocol for scenarios such as multivariate time-series, large batches of traces and logs. ## Motivation -With the current version of the OpenTelemetry protocol, users are forced to transform multivariate time-series into a -collection of univariate time-series resulting in a large amount of duplication and additional overhead covering the +With the current version of the OpenTelemetry protocol, users are **forced to transform multivariate time-series into a +collection of univariate time-series** resulting in a large amount of duplication and additional overhead covering the entire chain from exporters to backends. The volume of metrics, traces and logs is constantly increasing to meet new scenarios where accuracy and completeness @@ -31,3 +31,16 @@ gain we can obtain for a multivariate time-series scenario. Fundamentally metrics, logs and traces are all structured events occurring at a certain time and optionally covering a specified time span. Creating an efficient and generic representation for events will benefit the entire Open Telemetry eco-system. + +Currently all the OTEL entities are stored in "rows". A metric entity is a protobuf message containing timestamp, labels, +metric value and few other attributes. A batch of metrics behave as a table with multiple rows or metric messages. + +Another way to represent the same data is to represent them in columns instead of rows, i.e. a column containing all the +timestamp, a distinct column per label name, a column for the metric values, and so on. This columnar representation is +a proven approach to optimize the creation, size, and processing of data batches. The main benefits of a such approach are: +* better data compression rate (group of similar data) +* faster data processing (better data locality => better use of the CPU cache lines) +* faster serialization and deserialization (less objects to process) +* faster batch creation (less memory allocation) +* better IO efficiency (less data transmit) + From e3c38db3d607cac160c05833261b0a51383bb492 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurent=20Qu=C3=A9rel?= Date: Tue, 10 Aug 2021 14:37:13 -0700 Subject: [PATCH 019/130] Complete explanation section --- text/0156-columnar-encoding.md | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/text/0156-columnar-encoding.md b/text/0156-columnar-encoding.md index 4c6d5ef6d..91a60049f 100644 --- a/text/0156-columnar-encoding.md +++ b/text/0156-columnar-encoding.md @@ -23,8 +23,8 @@ a mouse move that simultaneously reports the values of x and y, a meteorological cloud cover, dew point, humidity and wind speed; an http transaction chararterized by many interrelated metrics sharing the same labels are all common examples of multivariate time-series. -This [benchmark](https://github.com/lquerel/otel-multivariate-time-series/blob/main/README2.md) illustrates the potential -gain we can obtain for a multivariate time-series scenario. +This [benchmark](https://github.com/lquerel/otel-multivariate-time-series/blob/main/README2.md) illustrates in detail +the potential gain we can obtain for a multivariate time-series scenario. ## Explanation @@ -42,5 +42,18 @@ a proven approach to optimize the creation, size, and processing of data batches * faster data processing (better data locality => better use of the CPU cache lines) * faster serialization and deserialization (less objects to process) * faster batch creation (less memory allocation) -* better IO efficiency (less data transmit) +* better IO efficiency (less data to transmit) +The benefit of this approach increases proportionally with the size of the batches. Using the existing "row-oriented" +representation is well suited for small batch scenarios. Therefore, this proposal suggests to **extend** the protocol by +adding a new columnar event entity to better support multivariate time-series and large batches of events. + +## Internal details + +## Trade-offs and mitigations + +## Prior art and alternatives + +## Open questions + +## Future possibilities From 68b4ed6635a68c69140a17e9de1f98bdf0e4fdc6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurent=20Qu=C3=A9rel?= Date: Tue, 10 Aug 2021 14:44:05 -0700 Subject: [PATCH 020/130] Create event.proto section --- text/0156-columnar-encoding.md | 62 ++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/text/0156-columnar-encoding.md b/text/0156-columnar-encoding.md index 91a60049f..7c6a06a44 100644 --- a/text/0156-columnar-encoding.md +++ b/text/0156-columnar-encoding.md @@ -50,6 +50,8 @@ adding a new columnar event entity to better support multivariate time-series an ## Internal details +A new type of entity + ## Trade-offs and mitigations ## Prior art and alternatives @@ -57,3 +59,63 @@ adding a new columnar event entity to better support multivariate time-series an ## Open questions ## Future possibilities + +## Appendices + +### event.proto +Protobuf specification (draft) for an Arrow-based Open Telemetry event. + +```protobuf +syntax = "proto3"; + +package opentelemetry.proto.arrow_events.v1; + +import "opentelemetry/proto/common/v1/common.proto"; +import "opentelemetry/proto/resource/v1/resource.proto"; + +option java_multiple_files = true; +option java_package = "io.opentelemetry.proto.events.v1"; +option java_outer_classname = "EventsProto"; +option go_package = "github.com/open-telemetry/opentelemetry-proto/gen/go/events/v1"; + +// A column-oriented collection of events from a Resource. +message ResourceEvents { + // The resource for the events in this message. + // If this field is not set then no resource info is known. + opentelemetry.proto.resource.v1.Resource resource = 1; + + // A list of events that originate from a resource. + repeated InstrumentationLibraryEvents instrumentation_library_events = 2; + + // This schema_url applies to the data in the "resource" field. It does not apply + // to the data in the "instrumentation_library_events" field which have their own + // schema_url field. + string schema_url = 3; +} + +// A collection of Events produced by an InstrumentationLibrary. +message InstrumentationLibraryEvents { + // The instrumentation library information for the events in this message. + // Semantically when InstrumentationLibrary isn't set, it is equivalent with + // an empty instrumentation library name (unknown). + opentelemetry.proto.common.v1.InstrumentationLibrary instrumentation_library = 1; + + // A list of batch of events that originate from an instrumentation library. + repeated BatchEvent batches = 2; + + // dropped_events_count is the number of dropped events. If the value is 0, then no + // events were dropped. + uint32 dropped_events_count = 3; +} + +// A typed collection of events with a columnar-oriented representation. +// All the events in this collection share the same schema url. +message BatchEvent { + // This schema_url applies to all events in this batch. + string schema_url = 1; + + uint32 size = 2; + + bytes arrow_buffer = 5; +} +``` From e25b3c60586f3e6b3f635ebc60d11ea2daea9098 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurent=20Qu=C3=A9rel?= Date: Tue, 10 Aug 2021 15:00:28 -0700 Subject: [PATCH 021/130] Create internal details --- text/0156-columnar-encoding.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/text/0156-columnar-encoding.md b/text/0156-columnar-encoding.md index 7c6a06a44..92df0140c 100644 --- a/text/0156-columnar-encoding.md +++ b/text/0156-columnar-encoding.md @@ -50,7 +50,13 @@ adding a new columnar event entity to better support multivariate time-series an ## Internal details -A new type of entity +In addition to the 3 existing entities (metrics, logs and traces), we introduce the event entity (see [this protobuf specification](#event-proto) +for more details) encoding a batch of events into an Apache Arrow buffer. [Apache Arrow](https://arrow.apache.org/) is +a language-independent columnar memory format for flat and hierarchical data, organized for efficient analytic operations +on modern hardware like CPUs and GPUs. As demonstrated by our [benchmark](https://github.com/lquerel/otel-multivariate-time-series/blob/main/README2.md) +leveraging Apache Arrow will give us access to a mature solution optimized for our exact need as well as a broader ecosystem. +Efficient implementation of Apache Arrow exists for most of the languages (Java, Go, C++, Rust, ...). Connectors with Apache Arrow +buffer exist for well-known file format (e.g. Parquet) and for well-known backend (e.g. BigQuery). ## Trade-offs and mitigations @@ -62,7 +68,7 @@ A new type of entity ## Appendices -### event.proto +### event proto Protobuf specification (draft) for an Arrow-based Open Telemetry event. ```protobuf From 07714b11d5d0fd735831634a0db999c5a9128e4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurent=20Qu=C3=A9rel?= Date: Tue, 10 Aug 2021 15:08:53 -0700 Subject: [PATCH 022/130] Update 0156-columnar-encoding.md --- text/0156-columnar-encoding.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/text/0156-columnar-encoding.md b/text/0156-columnar-encoding.md index 92df0140c..6dccbfc3a 100644 --- a/text/0156-columnar-encoding.md +++ b/text/0156-columnar-encoding.md @@ -56,7 +56,10 @@ a language-independent columnar memory format for flat and hierarchical data, or on modern hardware like CPUs and GPUs. As demonstrated by our [benchmark](https://github.com/lquerel/otel-multivariate-time-series/blob/main/README2.md) leveraging Apache Arrow will give us access to a mature solution optimized for our exact need as well as a broader ecosystem. Efficient implementation of Apache Arrow exists for most of the languages (Java, Go, C++, Rust, ...). Connectors with Apache Arrow -buffer exist for well-known file format (e.g. Parquet) and for well-known backend (e.g. BigQuery). +buffer exist for well-known file format (e.g. Parquet) and for well-known backend (e.g. BigQuery). By reusing this existing infrastructure, +we accelerate the development of the Open Telemetry protocol while expanding its field of application. + + ## Trade-offs and mitigations From e82db1a8afe79482d8a9c0a1e3c17e86fe09ab96 Mon Sep 17 00:00:00 2001 From: Laurent Querel Date: Tue, 10 Aug 2021 15:21:18 -0700 Subject: [PATCH 023/130] Add images for OTEP-0156 --- text/0156-columnar-encoding.md | 2 ++ text/img/0156-arrow-ecosystem.svg | 1 + text/img/0156-resource-events.svg | 1 + text/metrics/0000-multivariate-timeseries.md | 1 + 4 files changed, 5 insertions(+) create mode 100644 text/img/0156-arrow-ecosystem.svg create mode 100644 text/img/0156-resource-events.svg diff --git a/text/0156-columnar-encoding.md b/text/0156-columnar-encoding.md index 6dccbfc3a..b16001d92 100644 --- a/text/0156-columnar-encoding.md +++ b/text/0156-columnar-encoding.md @@ -59,7 +59,9 @@ Efficient implementation of Apache Arrow exists for most of the languages (Java, buffer exist for well-known file format (e.g. Parquet) and for well-known backend (e.g. BigQuery). By reusing this existing infrastructure, we accelerate the development of the Open Telemetry protocol while expanding its field of application. +![resource-events](img/0156-resource-events.svg) +![arrow-ecosystem](img/0156-arrow-ecosystem.svg) ## Trade-offs and mitigations diff --git a/text/img/0156-arrow-ecosystem.svg b/text/img/0156-arrow-ecosystem.svg new file mode 100644 index 000000000..61b319d24 --- /dev/null +++ b/text/img/0156-arrow-ecosystem.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/text/img/0156-resource-events.svg b/text/img/0156-resource-events.svg new file mode 100644 index 000000000..8e32f99dd --- /dev/null +++ b/text/img/0156-resource-events.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/text/metrics/0000-multivariate-timeseries.md b/text/metrics/0000-multivariate-timeseries.md index 37e0ee015..cfafd4b59 100644 --- a/text/metrics/0000-multivariate-timeseries.md +++ b/text/metrics/0000-multivariate-timeseries.md @@ -111,6 +111,7 @@ While you do not need to prescribe a particular implementation - indeed, OTEPs s ## Trade-offs and mitigations +Talk about adoption and what we need to do to increase [TBD] *What are some (known!) drawbacks? What are some ways that they might be mitigated?* From d9a621a8baafe6fa7f4c9a587017dbfcc9701810 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurent=20Qu=C3=A9rel?= Date: Tue, 10 Aug 2021 15:38:40 -0700 Subject: [PATCH 024/130] Add corner cases --- text/0156-columnar-encoding.md | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/text/0156-columnar-encoding.md b/text/0156-columnar-encoding.md index b16001d92..e56d9a18e 100644 --- a/text/0156-columnar-encoding.md +++ b/text/0156-columnar-encoding.md @@ -50,22 +50,33 @@ adding a new columnar event entity to better support multivariate time-series an ## Internal details -In addition to the 3 existing entities (metrics, logs and traces), we introduce the event entity (see [this protobuf specification](#event-proto) +In addition to the 3 existing resource entities (metrics, logs and traces), we introduce the resource event entity (see [this protobuf specification](#event-proto) for more details) encoding a batch of events into an Apache Arrow buffer. [Apache Arrow](https://arrow.apache.org/) is a language-independent columnar memory format for flat and hierarchical data, organized for efficient analytic operations on modern hardware like CPUs and GPUs. As demonstrated by our [benchmark](https://github.com/lquerel/otel-multivariate-time-series/blob/main/README2.md) leveraging Apache Arrow will give us access to a mature solution optimized for our exact need as well as a broader ecosystem. + +![resource-events](img/0156-resource-events.svg) + Efficient implementation of Apache Arrow exists for most of the languages (Java, Go, C++, Rust, ...). Connectors with Apache Arrow buffer exist for well-known file format (e.g. Parquet) and for well-known backend (e.g. BigQuery). By reusing this existing infrastructure, we accelerate the development of the Open Telemetry protocol while expanding its field of application. -![resource-events](img/0156-resource-events.svg) - ![arrow-ecosystem](img/0156-arrow-ecosystem.svg) +### Corners cases + +Backends that don't support natively multivariate time-series can still automatically transform these events in multiple univariate time-series and operate as usual. + +Specialized processors can be developped to group metrics, logs and traces in optimized batch of events in order to connect existing OTEL collectors with backends supporting this new protocol extension. + +Specialized processors can be developped to convert batch of events into the existing entities for backends that don't support this protocol extension. + ## Trade-offs and mitigations ## Prior art and alternatives +* [Column-oriented DBMS](https://en.wikipedia.org/wiki/Column-oriented_DBMS) +* [Apache Arrow](https://arrow.apache.org/) ## Open questions From 8c7333e31a6fcfdc396049b80107077cebf20b63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurent=20Qu=C3=A9rel?= Date: Tue, 10 Aug 2021 15:58:18 -0700 Subject: [PATCH 025/130] Update first draft for review --- text/0156-columnar-encoding.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/text/0156-columnar-encoding.md b/text/0156-columnar-encoding.md index e56d9a18e..eae7f81ff 100644 --- a/text/0156-columnar-encoding.md +++ b/text/0156-columnar-encoding.md @@ -74,13 +74,21 @@ Specialized processors can be developped to convert batch of events into the exi ## Trade-offs and mitigations +A columnar-oriented protocol is not necessarily desirable for all scenarios (e.g. devices that do not have the resources to accumulate data in batches). The proposed mixed solution allows to better address these different scenarios. + +Implementing a new columnar format is complex and costly (multiple language implementations, tests, optimizations, industry adoption). Reusing Apache Arrow is an interesting approach to mitigate this issue. + ## Prior art and alternatives * [Column-oriented DBMS](https://en.wikipedia.org/wiki/Column-oriented_DBMS) * [Apache Arrow](https://arrow.apache.org/) ## Open questions +More work needs to be done around examplars and histograms representation. + +More discussions should happen on the processor and storage layers. This approach could simplify significantly the design of OTEL compatible stream processing and database systems. ## Future possibilities +* Leverage Apache Arrow dictionary ## Appendices From 91f9561a54db95e1831eaadacebdc489b6f6dca3 Mon Sep 17 00:00:00 2001 From: Laurent Querel Date: Tue, 10 Aug 2021 16:01:20 -0700 Subject: [PATCH 026/130] Remove initial proposal focusing only on the multivariate time-series scenario --- text/metrics/0000-multivariate-timeseries.md | 182 ------------------ .../multivariate-time-series-model.png | Bin 32439 -> 0 bytes ...ultivariate_metric_data_model_overview.png | Bin 157407 -> 0 bytes 3 files changed, 182 deletions(-) delete mode 100644 text/metrics/0000-multivariate-timeseries.md delete mode 100644 text/metrics/multivariate-time-series-model.png delete mode 100644 text/metrics/multivariate_metric_data_model_overview.png diff --git a/text/metrics/0000-multivariate-timeseries.md b/text/metrics/0000-multivariate-timeseries.md deleted file mode 100644 index cfafd4b59..000000000 --- a/text/metrics/0000-multivariate-timeseries.md +++ /dev/null @@ -1,182 +0,0 @@ -# Multivariate time-series - -Generalization of the metrics data model (currently univariate) to support multivariate time-series. - -## Motivation - -A Multivariate time series has more than one time-dependent variable. Each variable depends not only on its past values but also has -some dependency on other variables. A 3 axis accelerometer reporting 3 metrics simultaneously; a meteorological weather station reporting -temperature, cloud cover, dew point, humidity and wind speed; an http transaction chararterized by many interrelated metrics sharing the same -labels are all common examples of multivariate time-series. - -**With the current version of the OpenTelemetry protocol we force users to transform these multivariate time-series into a collection of -univariate time-series instead of keeping end-to-end an efficient multivariate representation.** - -A transport layer should not constrain such a radical change of representation as the implications are so important, to name a few: -* It's straighforward to translate a multivariate time-series into a collection of univariate time-series but the opposite is much more -complex to do at scale. To rebuild a multivariate from a set of univariate time-series you need to join potentially dozens of time-series -together. On a distributed backend environment, it's involve a lot of data movement, complex logic to deal with missing data points, some -form of join computation, ... -* This transformation enforced by the protocol has also strong implications on the data usage. Each query on a multivariate time-series will -involve a set of joins. The discoverability of data becomes more complex as every univariate time-series are independent. A data catalog -will not magically discover these relationships. -* **This transformation involves a lot of redundant informations.** All the labels must be redeclared for each univariate time-series. It's -not only more work for the developer but it's also less efficient. Even with a good compression algorithm, a such transformation will be -much more computationally intensive and less efficient in term of compression ratio. -* This transformation makes simple filtering and aggregation on multivariate time-series much more complex in the OpenTelemetry processor -layer. This has the potential to transform stateless processors into statefull/complex processors. For example, a user wants to report -http transaction where the sum dns-latency + tcp-con-latency + ssl-handshake-latency + content-transfer-latency + server-processing-latency is greater -than 2s. Defining this expression on a multivariate time-series and implementing it with a processor multivariate compatible will be -straightforward and stateless. With a collection of univariate time-series it's a different story at every level and it's not going in -the direction of a stateless architecture. - -**By generalizing the existing metric data model we can get rid of all these limitations without adding much complexity to the protocol.** -We simplify the implementation of multivariate forecasting and anomaly detection mechanisms. We minimize the risk of seing again a new -telemetry protocol with the only purpose to add a better support for multivariate time-series. Finally, for backends that do not support -multivariate time-series, a simple transformation to univariate time-series will be simple to implement in their server-side -OpenTelemetry endpoints. - -## Explanation - -The following diagram provides a 10,000-feet comparison between the existing metric data model and the multivariate metric -data model proposed in this document. - -![Multivariate time-series metric data model](multivariate_metric_data_model_overview.png) - -As stated before the current metric data model supports univariate time-series, so as a user we have: -* for a specific resource, an instrumentation library that provides a way to report multiple independent metrics, -* and for each metric, a set of metadata such as name, description, unit and a list of data points with their corresponding attributes. - -For resources that natively produce mutlivariate time-series, the user has to transform this time-series into a -collection of univariate time-series duplicating the same set of attributes again and again. - -In this proposal, we recommend to improve the existing protocol and at the same time significantly change the user -experience: -* for a specific resource, an instrumentation library will provide a way to report a collection of multivariate time-series. -* for each multivariate time-series, the user will be able to define: - * a collection of metadata describing each metric. - * a set of columnar representation for the timestamps, attributes, metric values and examplars (all aligned together). - -As multivariate time-series are a superset of univariate time-series, this representation is a generalization of the -existing model. - -For backends that natively support mutlivariate time-series, the data will be stored without complex processing. For -backends that only support univariate time-series, the data stream will be transformed into a collection of univariate time-series. - -The benefits of this columnar representation are: -* Attributes and timestamps are shared between multiple metrics and are no longer duplicated. -* Creation, serialization, compression and deserialization are much more efficient with a columnar representation at the - protocol level (see benchmark results). -* Processing operations on multivariate time-series are greatly simplified by keeping attributes, - metric values and examplars aligned with their corresponding timestamps. It becomes straightforward to: - * store multivariate time-series without complex pre-processing in the backend. - * apply filters and transformations on multiple interrelated metrics in the OpenTelemetry processor layer. - -**TODO UPDATE THIS DIAGRAM** -![Multivariate time-series model](multivariate-time-series-model.png) - -## Internal details - -The three following approaches have been identified to implement this proposal: -1. Add the concept of multivariate time-series in addition to the existing metric object defined in the InstrumentationLibraryMetrics - message. -2. Replace the existing Metric message by a generalized version supporting multivariate time-series represented in a columnar encoding. -3. Use the structured logs and introduce the concept of schema to support the definition of metrics directly in the logs. - -The first option is fully backward compatible with the existing protocol. - -The second option unify the representation of univariate and multivariate time-series at the protocol level. This approach -is not backward compatible with the existing protocol. - -The third option will require more work, will not leverage the existing metric-oriented processing layer already in place -to filter and aggregate metrics, and will not simplify the understandability of the Open Telemetry model as metrics will be -defined in multiple locations. An alternative to this option will be to unify every data (metric, log, trace) to a unique -internal representation based on the concept of structured event. Although interesting, this option can't easily be -introduced at this stage of development of the Open Telemetry protocol without a complex modification of the eco-system. - -The selection between option 1 and 2 is a decision to be made on the basis of the changes the community is willing to -accept at this level of protocol maturity. The option 2 offers a more unified experience than option 1 and should be -preferred if the introduction of incompatible changes are accepted by the community. - - - -[TBD] -From a technical perspective, how do you propose accomplishing the proposal? In particular, please explain: - -* How the change would impact and interact with existing functionality -* Likely error modes (and how to handle them) -* Corner cases (and how to handle them) - -While you do not need to prescribe a particular implementation - indeed, OTEPs should be about **behaviour**, not implementation! - it may be useful to provide at least one suggestion as to how the proposal *could* be implemented. This helps reassure reviewers that implementation is at least possible, and often helps them inspire them to think more deeply about trade-offs, alternatives, etc. - -## Trade-offs and mitigations - -Talk about adoption and what we need to do to increase -[TBD] -*What are some (known!) drawbacks? What are some ways that they might be mitigated?* - -*Note that mitigations do not need to be complete *solutions*, and that they do not need to be accomplished directly through your proposal. A suggested mitigation may even warrant its own OTEP!* - -## Prior art and alternatives - -Existing protocols supporting multivariate time-series -* AWS CloudWatch EMF -* InfluxDB line protocol -* The Apache Arrow Flight -* TimescaleDB (PostgreSQL extension) -* Splunk Event Collector - -## Open questions - -* Explore the impact of this proposal on the OpenTelementry processor layer. - -*What are some questions that you know aren't resolved yet by the OTEP? These may be questions that could be answered through further discussion, implementation experiments, or anything else that the future may bring.* - -## Future possibilities - -* Column encoding to improve compression ratio (delta encoding, dictionary, ...) - -## Examples of multivariate time-series -Some classical examples of multivariate time-series in the context of infrastructure monitoring. - -* VM - * Labels - * hostname - * instance-type - * ... - * Metrics - * cpu-usage - * memory-usage - * disk-usage - * disk-operation-per-sec - * network-in - * network-out - * ... -* Processus / POD - * Labels - * pod-id - * pod-labels - * ... - * Metrics - * cpu-usage - * memory-usage - * disk-usage - * disk-operation-per-sec - * network-in - * network-out - * ... -* Http transaction - * Labels - * url - * method - * status - * ... - * Metrics - * dns-latency - * tls-handshake-latency - * tcp-connection-latency - * server-processing-latency - * content-transfer-latency - * request-size - * response-size - * ... diff --git a/text/metrics/multivariate-time-series-model.png b/text/metrics/multivariate-time-series-model.png deleted file mode 100644 index 1e89ac836c4563e0d59366998f0e48961f764cf8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32439 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 Mj?wjktGA#1AB?bc0ssI2 diff --git a/text/metrics/multivariate_metric_data_model_overview.png b/text/metrics/multivariate_metric_data_model_overview.png deleted file mode 100644 index e52c75c99cca4c0c2b526115531369efb9c76522..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 157407 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�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%0A5_cZ8P@}k%=@U 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