Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Run tests for windows and integration tags #6

Closed
wants to merge 89 commits into from

Conversation

pjanotti
Copy link
Owner

Test

greatestusername and others added 30 commits September 29, 2023 11:32
)

**Description:** 
- Adds additional metrics to Splunk Enterprise receiver obtained from
API endpoints
- Updates tests and docs for these additional metrics

**Link to tracking Issue:**
open-telemetry#12667

**Testing:** 
- Additional tests for new endpoints and metrics added to `scraper_test`
- Verify current tests also pass

**Documentation:**
- Newly generated docs entries for additional metrics
…metry#27092)

**Description:** 
Implement a first codec for the encoding extension.

**Link to tracking Issue:**
https://github.com/open-telemetry/opentelemetry-collector/issues/6272

**Testing:**
Unit tests.

**Documentation:**
Some package docs.

---------

Co-authored-by: Dmitrii Anoshin <[email protected]>
**Description:** Enable support to extract headers from Kafka Messages
and attach them to resource attributes. In later stages in the pipeline,
different exporters can utilize this information.

**Link to tracking Issue:**
[21729](open-telemetry#21729)

**Testing:** Added test cases for logs, traces, and metrics.

**Documentation:** <Describe the documentation added.>

---------

Co-authored-by: Alex Boten <[email protected]>
…metry#25894)

**Description:**
Adds new `k8s.pod.memory.utilization` and `container.memory.utilization`
metrics that represent the ratio of memory used vs limits set.

The metrics are only emitted for pods/containers that have defined
resource limits. It takes advantage of the pod metadata to acquire the
container limits. A pod limit is computed as the sum of all the
container limits and if any container limit is zero or undefined the pod
limit is also considered undefined.

**Link to tracking Issue:**
Related to
open-telemetry#24905

**Testing:**
Unit tests and local testing
**Description:** 

This PR creates a gh action that generates a weekly report on repo
statistics.
It delivers on the requirements specified in
open-telemetry#24672
You can see the sample output here:
kevinslin#16

**Link to tracking Issue:** open-telemetry#24672

**Testing:** 

Manual testing in fork:
https://github.com/kevinslin/opentelemetry-collector-contrib/actions
Example output:
kevinslin#17

**Documentation:** 


The architecture:
- we use `actions/github-script@v6` to make calls to the gh apis
- we require installing `js-yaml` in order to parse `metadata.yaml`
files in order to get components. this dependency is installed during
the github action run and not persisted

Some caveats about the logic:
- when this action runs, it looks back the previous 7 days and gets
issues created in that time period, normalizing times to UTC
- eg. if running this on wednesday (eg. 2023-08-25 17:35:00), it will
scan issues from the previous wednesday (2023-08-18 00:00:00Z) to
beginning of this wednesday (2023-08-28 0:00:00Z)
- this action writes the json payload of the report inside the issue.
the payload is parsed by future reports to calculate deltas
- the report issue has a custom label: `report` - this is used so we can
properly filter previous issues when calculating deltas. the [github
issues
api](https://docs.github.com/en/rest/issues/issues?apiVersion=2022-11-28#list-repository-issues)
only does filtering based on labels and `since` date

This action currently runs every Tuesday at 1AM UTC

---------

Co-authored-by: Antoine Toulme <[email protected]>
Co-authored-by: Tyler Helmuth <[email protected]>
**Description:** <Describe what has changed.>

Allows setting empty metric units in mdatagen.

Example of using it
https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/27091/files


**Tracking Issues:**

open-telemetry#27089

open-telemetry#10553
**Description:** 
The existing k8s example configures the filelog receiver to `start_at:
beginning`. This results in a significant amount of data to be ingested
on startup, and significant duplicate data on a collector restart. I
propose we recommend using `start_at:end` for default k8s log ingestion.
This overhauls a document in `pkg/stanza` which describes how to chain
operators together.
- Disambiguates the term "pipelines" but introducing the term "operator
sequences".
- Reworks all examples to show the context of being used in a full
receiver configuration.
- Removes references to input and output operators, which are either
abstracted or unused.
- Removes some extraneous examples.
- Clarifies how to output from a non-linear pipeline.
…etry#26506)

**Description:** Add support to customize metric name and its
attributes.

**Link to tracking Issue:** open-telemetry#26505 

**Testing:** -

**Documentation:** self-documented in added flags

---------

Signed-off-by: Claudio B <[email protected]>
Co-authored-by: Alex Boten <[email protected]>
Co-authored-by: Sean Marciniak <[email protected]>
open-telemetry#27294)

This fixes a bug detected while attempting to migrate test to the new
`splittest` framework.

Generally speaking, the responsibility of a `bufio.SplitFunc` is to
parse a token from a given buffer (`[]byte`). However, the split func
does not have control over the size of the buffer, so it must be able to
ask for more data. The mechanism for asking for more data is to return
`0, nil, nil`.

A split func is also told whether there is any more data to read. This
allows it to chose whether to "give up" and return a truncated token, or
to insist that it will wait until there is more data (which may never
happen).

This particular function is parsing tokens based on a simple numerical
prefix which indicates how long the token will be.
e.g. `54 This is the actual token and it is 54 characters long.`

The problem is that the function would give up prematurely and return a
truncated token. The proper behavior is to ask for more data _unless_
the function is specifically told that there is no more data to receive.

This fixes the behavior so that whenever we are able to parse an
expected length but find there is not enough data in the buffer to
fulfill the expectation, we ask for more data. It only returns a
truncated token when there is no more data to ask for.
…y#27296)

Follows open-telemetry#27275

All tests have been migrated away from the old `splittest` framework in
favor of the newer more thorough test. This removes the old version and
renames the file containing the new one.
…pen-telemetry#27397)

Reverts open-telemetry#27286

This is failing tests on main. I apologize for not enabling Windows
tests on the PR. @pjanotti, would you mind updating tests and
resubmitting?
open-telemetry#27399)

**Description:**
Restore open-telemetry#27286 (see PR open-telemetry#27397) and add missing test update.

**Link to tracking Issue:**
N/A

**Testing:**
Ran test locally.

**Documentation:**
N/A

cc @djaglowski @songy23
**Description:**
Deprecate Parquet exporter before removing it altogether.

**Link to tracking Issue:**
open-telemetry#27285
…ames (open-telemetry#20896)

Fixes open-telemetry#3148

This change was initially created to only fix open-telemetry#20731 by replacing the
slash `/` characters in component names with a tilde `~`. After that, we
decided that it is a breaking change, and so it's better to fix other
characters as well in a single breaking change.
…rim package (open-telemetry#27260)

This extracts the "max length" responsibility from the scanner. A couple
benefits of this:
1. The function can be applied _after_ the flush function. Previously,
if a token was flushed due to timing, we were not enforcing the max
length.
2. It makes the function directly testable.
4. We can simplify the scanner constructor, which previously had a
parameter for the buffer size which was only used for testing the
behavior of the extracted function. This is now tested within the trim
function.
…y#27400)

Bump actions/checkout from 3 to 4
Bump github.com/aws/aws-sdk-go from 1.45.17 to 1.45.19 in
/exporter/awscloudwatchlogsexporter
Bump github.com/aws/aws-sdk-go from 1.45.17 to 1.45.19 in
/exporter/awsemfexporter
Bump github.com/aws/aws-sdk-go from 1.45.17 to 1.45.19 in
/exporter/awsxrayexporter
Bump github.com/aws/aws-sdk-go from 1.45.17 to 1.45.19 in
/exporter/datadogexporter
Bump github.com/aws/aws-sdk-go from 1.45.17 to 1.45.19 in
/exporter/kafkaexporter
Bump github.com/aws/aws-sdk-go from 1.45.17 to 1.45.19 in
/internal/aws/proxy
Bump github.com/aws/aws-sdk-go from 1.45.17 to 1.45.19 in
/internal/aws/xray
Bump github.com/aws/aws-sdk-go from 1.45.17 to 1.45.19 in
/internal/aws/xray/testdata/sampleapp
Bump github.com/aws/aws-sdk-go from 1.45.17 to 1.45.19 in
/internal/metadataproviders
Bump github.com/aws/aws-sdk-go from 1.45.17 to 1.45.19 in
/processor/resourcedetectionprocessor
Bump github.com/aws/aws-sdk-go from 1.45.17 to 1.45.19 in
/receiver/awscontainerinsightreceiver
Bump github.com/aws/aws-sdk-go from 1.45.17 to 1.45.19 in
/receiver/awsecscontainermetricsreceiver
Bump github.com/aws/aws-sdk-go from 1.45.17 to 1.45.19 in
/receiver/awsxrayreceiver
Bump github.com/aws/aws-sdk-go from 1.45.17 to 1.45.20 in
/extension/observer/ecsobserver
Bump github.com/aws/aws-sdk-go from 1.45.17 to 1.45.20 in
/internal/aws/awsutil
Bump github.com/aws/aws-sdk-go from 1.45.17 to 1.45.20 in
/internal/aws/cwlogs
Bump github.com/aws/aws-sdk-go from 1.45.17 to 1.45.20 in
/internal/aws/k8s
Bump github.com/aws/aws-sdk-go-v2/config from 1.18.42 to 1.18.43 in
/exporter/awskinesisexporter
Bump github.com/aws/aws-sdk-go-v2/config from 1.18.42 to 1.18.43 in
/extension/sigv4authextension
Bump github.com/aws/aws-sdk-go-v2/credentials from 1.13.40 to 1.13.41 in
/exporter/awskinesisexporter
Bump github.com/aws/aws-sdk-go-v2/credentials from 1.13.40 to 1.13.41 in
/extension/sigv4authextension
Bump github.com/aws/aws-sdk-go-v2/service/sts from 1.22.0 to 1.23.0 in
/exporter/awskinesisexporter
Bump github.com/aws/aws-sdk-go-v2/service/sts from 1.22.0 to 1.23.0 in
/extension/sigv4authextension
Bump github.com/aws/aws-xray-sdk-go from 1.8.1 to 1.8.2 in
/internal/aws/xray/testdata/sampleapp
Bump github.com/aws/aws-xray-sdk-go from 1.8.1 to 1.8.2 in
/internal/aws/xray/testdata/sampleserver
Bump github.com/jcchavezs/porto from 0.4.0 to 0.5.1 in /internal/tools
Bump github.com/rs/cors from 1.10.0 to 1.10.1 in
/receiver/opencensusreceiver
Bump github.com/shirou/gopsutil/v3 from 3.23.8 to 3.23.9 in
/exporter/signalfxexporter
Bump github.com/shirou/gopsutil/v3 from 3.23.8 to 3.23.9 in
/extension/observer/hostobserver
Bump github.com/shirou/gopsutil/v3 from 3.23.8 to 3.23.9 in
/processor/resourcedetectionprocessor
Bump github.com/shirou/gopsutil/v3 from 3.23.8 to 3.23.9 in
/receiver/awscontainerinsightreceiver
Bump github.com/shirou/gopsutil/v3 from 3.23.8 to 3.23.9 in
/receiver/hostmetricsreceiver
Bump github.com/shirou/gopsutil/v3 from 3.23.8 to 3.23.9 in
/receiver/jmxreceiver
Bump github.com/shirou/gopsutil/v3 from 3.23.8 to 3.23.9 in /testbed
Bump github.com/snowflakedb/gosnowflake from 1.6.24 to 1.6.25 in
/receiver/sqlqueryreceiver
Bump github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common
from 1.0.756 to 1.0.759 in /exporter/tencentcloudlogserviceexporter
Bump github.com/testcontainers/testcontainers-go from 0.23.0 to 0.25.0
in /extension/observer/dockerobserver
Bump github.com/testcontainers/testcontainers-go from 0.23.0 to 0.25.0
in /internal/coreinternal
Bump github.com/testcontainers/testcontainers-go from 0.23.0 to 0.25.0
in /receiver/aerospikereceiver
Bump github.com/testcontainers/testcontainers-go from 0.23.0 to 0.25.0
in /receiver/apachereceiver
Bump github.com/testcontainers/testcontainers-go from 0.23.0 to 0.25.0
in /receiver/dockerstatsreceiver
Bump github.com/testcontainers/testcontainers-go from 0.23.0 to 0.25.0
in /receiver/elasticsearchreceiver
Bump github.com/testcontainers/testcontainers-go from 0.23.0 to 0.25.0
in /receiver/flinkmetricsreceiver
Bump github.com/testcontainers/testcontainers-go from 0.23.0 to 0.25.0
in /receiver/jmxreceiver
Bump github.com/testcontainers/testcontainers-go from 0.23.0 to 0.25.0
in /receiver/kafkametricsreceiver
Bump github.com/testcontainers/testcontainers-go from 0.23.0 to 0.25.0
in /receiver/memcachedreceiver
Bump github.com/testcontainers/testcontainers-go from 0.23.0 to 0.25.0
in /receiver/mongodbreceiver
Bump github.com/testcontainers/testcontainers-go from 0.23.0 to 0.25.0
in /receiver/mysqlreceiver
Bump github.com/testcontainers/testcontainers-go from 0.23.0 to 0.25.0
in /receiver/nginxreceiver
Bump github.com/testcontainers/testcontainers-go from 0.23.0 to 0.25.0
in /receiver/postgresqlreceiver
Bump github.com/testcontainers/testcontainers-go from 0.23.0 to 0.25.0
in /receiver/redisreceiver
Bump github.com/testcontainers/testcontainers-go from 0.23.0 to 0.25.0
in /receiver/sqlqueryreceiver
Bump github.com/testcontainers/testcontainers-go from 0.23.0 to 0.25.0
in /receiver/zookeeperreceiver
Bump github.com/vmware/govmomi from 0.31.0 to 0.32.0 in
/receiver/vcenterreceiver
Bump
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc
from 0.44.0 to 0.45.0 in /receiver/opencensusreceiver
Bump go.opentelemetry.io/otel from 1.18.0 to 1.19.0 in /cmd/telemetrygen
Bump go.opentelemetry.io/otel from 1.18.0 to 1.19.0 in
/examples/demo/client
Bump go.opentelemetry.io/otel from 1.18.0 to 1.19.0 in
/internal/aws/metrics
Bump go.opentelemetry.io/otel from 1.18.0 to 1.19.0 in
/internal/coreinternal
Bump go.opentelemetry.io/otel from 1.18.0 to 1.19.0 in
/internal/metadataproviders
Bump go.opentelemetry.io/otel from 1.18.0 to 1.19.0 in
/processor/routingprocessor
Bump go.opentelemetry.io/otel from 1.18.0 to 1.19.0 in
/receiver/opencensusreceiver
Bump go.opentelemetry.io/otel from 1.18.0 to 1.19.0 in
/receiver/simpleprometheusreceiver/examples/federation/prom-counter
Bump go.opentelemetry.io/otel from 1.18.0 to 1.19.0 in
/receiver/solacereceiver
Bump go.opentelemetry.io/otel from 1.18.0 to 1.19.0 in
/receiver/statsdreceiver
Bump go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc
from 0.41.0 to 0.42.0 in /examples/demo/client
Bump go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc
from 0.41.0 to 0.42.0 in /examples/demo/server
Bump go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp
from 0.41.0 to 0.42.0 in /cmd/telemetrygen
Bump go.opentelemetry.io/otel/exporters/otlp/otlptrace from 1.18.0 to
1.19.0 in /cmd/telemetrygen
Bump go.opentelemetry.io/otel/exporters/otlp/otlptrace from 1.18.0 to
1.19.0 in /examples/demo/client
Bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc
from 1.18.0 to 1.19.0 in /examples/demo/server
Bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp
from 1.18.0 to 1.19.0 in /cmd/telemetrygen
Bump go.opentelemetry.io/otel/exporters/prometheus from 0.41.0 to 0.42.0
in /receiver/simpleprometheusreceiver/examples/federation/prom-counter
Bump go.opentelemetry.io/otel/metric from 1.18.0 to 1.19.0 in
/examples/demo/server
Bump go.opentelemetry.io/otel/metric from 1.18.0 to 1.19.0 in
/processor/routingprocessor
Bump go.opentelemetry.io/otel/metric from 1.18.0 to 1.19.0 in
/receiver/simpleprometheusreceiver/examples/federation/prom-counter
Bump go.opentelemetry.io/otel/schema from 0.0.4 to 0.0.7 in
/processor/schemaprocessor
Bump go.opentelemetry.io/otel/sdk from 1.18.0 to 1.19.0 in
/cmd/telemetrygen
Bump go.opentelemetry.io/otel/sdk from 1.18.0 to 1.19.0 in
/examples/demo/client
Bump go.opentelemetry.io/otel/sdk from 1.18.0 to 1.19.0 in
/internal/metadataproviders
Bump go.opentelemetry.io/otel/sdk from 1.18.0 to 1.19.0 in
/receiver/carbonreceiver
Bump go.opentelemetry.io/otel/sdk from 1.18.0 to 1.19.0 in
/receiver/opencensusreceiver
Bump go.opentelemetry.io/otel/sdk/metric from 0.41.0 to 1.19.0 in
/cmd/telemetrygen
Bump go.opentelemetry.io/otel/sdk/metric from 0.41.0 to 1.19.0 in
/examples/demo/client
Bump go.opentelemetry.io/otel/sdk/metric from 0.41.0 to 1.19.0 in
/examples/demo/server
Bump go.opentelemetry.io/otel/sdk/metric from 0.41.0 to 1.19.0 in
/receiver/simpleprometheusreceiver/examples/federation/prom-counter
Bump go.opentelemetry.io/otel/trace from 1.18.0 to 1.19.0 in
/examples/demo/server
Bump go.opentelemetry.io/otel/trace from 1.18.0 to 1.19.0 in
/internal/coreinternal
Bump go.opentelemetry.io/otel/trace from 1.18.0 to 1.19.0 in /pkg/ottl
Bump go.opentelemetry.io/otel/trace from 1.18.0 to 1.19.0 in
/processor/routingprocessor
Bump go.opentelemetry.io/otel/trace from 1.18.0 to 1.19.0 in
/processor/tailsamplingprocessor
Bump go.opentelemetry.io/otel/trace from 1.18.0 to 1.19.0 in
/receiver/opencensusreceiver

---------

Co-authored-by: Yang Song <[email protected]>
This adds an example for setting headers on the check.

Signed-off-by: Alex Boten <[email protected]>
…elemetry#27418)

This reworks a recent addition (See open-telemetry#27064) to how we handle rotated
files.

The solution depends upon re-reading a file's fingerprint. This is
unchanged, but most of the implementation is now localized to the reader
struct.
…age (open-telemetry#27416)

Follows open-telemetry#27396 

This PR creates an internal `reader` package and moves directly related
structs into it.

I intend to clean up this codebase substantially from here. This is just
a first step that creates a crude boundary between concerns. There are
many exported fields which can later be abstracted, but currently the
codebase has many direct interactions. Tests remain in the
`fileconsumer` package for now but will be migrated once there are
cleaner interfaces to test.
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to
4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/checkout/releases">actions/checkout's
releases</a>.</em></p>
<blockquote>
<h2>v4.0.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Update default runtime to node20 by <a
href="https://github.com/takost"><code>@​takost</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1436">actions/checkout#1436</a></li>
<li>Support fetching without the --progress option by <a
href="https://github.com/simonbaird"><code>@​simonbaird</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1067">actions/checkout#1067</a></li>
<li>Release 4.0.0 by <a
href="https://github.com/takost"><code>@​takost</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1447">actions/checkout#1447</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/takost"><code>@​takost</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/checkout/pull/1436">actions/checkout#1436</a></li>
<li><a
href="https://github.com/simonbaird"><code>@​simonbaird</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/checkout/pull/1067">actions/checkout#1067</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/checkout/compare/v3...v4.0.0">https://github.com/actions/checkout/compare/v3...v4.0.0</a></p>
<h2>v3.6.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Mark test scripts with Bash'isms to be run via Bash by <a
href="https://github.com/dscho"><code>@​dscho</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1377">actions/checkout#1377</a></li>
<li>Add option to fetch tags even if fetch-depth &gt; 0 by <a
href="https://github.com/RobertWieczoreck"><code>@​RobertWieczoreck</code></a>
in <a
href="https://redirect.github.com/actions/checkout/pull/579">actions/checkout#579</a></li>
<li>Release 3.6.0 by <a
href="https://github.com/luketomlinson"><code>@​luketomlinson</code></a>
in <a
href="https://redirect.github.com/actions/checkout/pull/1437">actions/checkout#1437</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/RobertWieczoreck"><code>@​RobertWieczoreck</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/checkout/pull/579">actions/checkout#579</a></li>
<li><a
href="https://github.com/luketomlinson"><code>@​luketomlinson</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/checkout/pull/1437">actions/checkout#1437</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/checkout/compare/v3.5.3...v3.6.0">https://github.com/actions/checkout/compare/v3.5.3...v3.6.0</a></p>
<h2>v3.5.3</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix: Checkout Issue in self hosted runner due to faulty submodule
check-ins by <a
href="https://github.com/megamanics"><code>@​megamanics</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1196">actions/checkout#1196</a></li>
<li>Fix typos found by codespell by <a
href="https://github.com/DimitriPapadopoulos"><code>@​DimitriPapadopoulos</code></a>
in <a
href="https://redirect.github.com/actions/checkout/pull/1287">actions/checkout#1287</a></li>
<li>Add support for sparse checkouts by <a
href="https://github.com/dscho"><code>@​dscho</code></a> and <a
href="https://github.com/dfdez"><code>@​dfdez</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1369">actions/checkout#1369</a></li>
<li>Release v3.5.3 by <a
href="https://github.com/TingluoHuang"><code>@​TingluoHuang</code></a>
in <a
href="https://redirect.github.com/actions/checkout/pull/1376">actions/checkout#1376</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/megamanics"><code>@​megamanics</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/checkout/pull/1196">actions/checkout#1196</a></li>
<li><a
href="https://github.com/DimitriPapadopoulos"><code>@​DimitriPapadopoulos</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/checkout/pull/1287">actions/checkout#1287</a></li>
<li><a href="https://github.com/dfdez"><code>@​dfdez</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/checkout/pull/1369">actions/checkout#1369</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/checkout/compare/v3...v3.5.3">https://github.com/actions/checkout/compare/v3...v3.5.3</a></p>
<h2>v3.5.2</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix: Use correct API url / endpoint in GHES by <a
href="https://github.com/fhammerl"><code>@​fhammerl</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1289">actions/checkout#1289</a>
based on <a
href="https://redirect.github.com/actions/checkout/issues/1286">#1286</a>
by <a href="https://github.com/1newsr"><code>@​1newsr</code></a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/checkout/compare/v3.5.1...v3.5.2">https://github.com/actions/checkout/compare/v3.5.1...v3.5.2</a></p>
<h2>v3.5.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Improve checkout performance on Windows runners by upgrading
<code>@​actions/github</code> dependency by <a
href="https://github.com/BrettDong"><code>@​BrettDong</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1246">actions/checkout#1246</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/BrettDong"><code>@​BrettDong</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/checkout/pull/1246">actions/checkout#1246</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/actions/checkout/blob/main/CHANGELOG.md">actions/checkout's
changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<h2>v4.1.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1396">Add
support for partial checkout filters</a></li>
</ul>
<h2>v4.0.0</h2>
<ul>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1067">Support
fetching without the --progress option</a></li>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1436">Update to
node20</a></li>
</ul>
<h2>v3.6.0</h2>
<ul>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1377">Fix: Mark
test scripts with Bash'isms to be run via Bash</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/579">Add
option to fetch tags even if fetch-depth &gt; 0</a></li>
</ul>
<h2>v3.5.3</h2>
<ul>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1196">Fix:
Checkout fail in self-hosted runners when faulty submodule are
checked-in</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1287">Fix
typos found by codespell</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1369">Add
support for sparse checkouts</a></li>
</ul>
<h2>v3.5.2</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1289">Fix
api endpoint for GHES</a></li>
</ul>
<h2>v3.5.1</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1246">Fix
slow checkout on Windows</a></li>
</ul>
<h2>v3.5.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1237">Add
new public key for known_hosts</a></li>
</ul>
<h2>v3.4.0</h2>
<ul>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1209">Upgrade
codeql actions to v2</a></li>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1210">Upgrade
dependencies</a></li>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1225">Upgrade
<code>@​actions/io</code></a></li>
</ul>
<h2>v3.3.0</h2>
<ul>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1045">Implement
branch list using callbacks from exec function</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1050">Add
in explicit reference to private checkout options</a></li>
<li>[Fix comment typos (that got added in <a
href="https://redirect.github.com/actions/checkout/issues/770">#770</a>)](<a
href="https://redirect.github.com/actions/checkout/pull/1057">actions/checkout#1057</a>)</li>
</ul>
<h2>v3.2.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/942">Add
GitHub Action to perform release</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/967">Fix
status badge</a></li>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1002">Replace
datadog/squid with ubuntu/squid Docker image</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/964">Wrap
pipeline commands for submoduleForeach in quotes</a></li>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1029">Update
<code>@​actions/io</code> to 1.1.2</a></li>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1039">Upgrading
version to 3.2.0</a></li>
</ul>
<h2>v3.1.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/939">Use
<code>@​actions/core</code> <code>saveState</code> and
<code>getState</code></a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/922">Add
<code>github-server-url</code> input</a></li>
</ul>
<h2>v3.0.2</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/actions/checkout/commit/8ade135a41bc03ea155e62e844d188df1ea18608"><code>8ade135</code></a>
Prepare 4.1.0 release (<a
href="https://redirect.github.com/actions/checkout/issues/1496">#1496</a>)</li>
<li><a
href="https://github.com/actions/checkout/commit/c533a0a4cfc4962971818edcfac47a2899e69799"><code>c533a0a</code></a>
Add support for partial checkout filters (<a
href="https://redirect.github.com/actions/checkout/issues/1396">#1396</a>)</li>
<li><a
href="https://github.com/actions/checkout/commit/72f2cec99f417b1a1c5e2e88945068983b7965f9"><code>72f2cec</code></a>
Update README.md for V4 (<a
href="https://redirect.github.com/actions/checkout/issues/1452">#1452</a>)</li>
<li><a
href="https://github.com/actions/checkout/commit/3df4ab11eba7bda6032a0b82a6bb43b11571feac"><code>3df4ab1</code></a>
Release 4.0.0 (<a
href="https://redirect.github.com/actions/checkout/issues/1447">#1447</a>)</li>
<li><a
href="https://github.com/actions/checkout/commit/8b5e8b768746b50394015010d25e690bfab9dfbc"><code>8b5e8b7</code></a>
Support fetching without the --progress option (<a
href="https://redirect.github.com/actions/checkout/issues/1067">#1067</a>)</li>
<li><a
href="https://github.com/actions/checkout/commit/97a652b80035363df47baee5031ec8670b8878ac"><code>97a652b</code></a>
Update default runtime to node20 (<a
href="https://redirect.github.com/actions/checkout/issues/1436">#1436</a>)</li>
<li>See full diff in <a
href="https://github.com/actions/checkout/compare/v3...v4">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/checkout&package-manager=github_actions&previous-version=3&new-version=4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Alex Boten and others added 14 commits October 6, 2023 12:54
Ensures the removed deprecated struct members were not used.

---------

Signed-off-by: Alex Boten <[email protected]>
**Description:** <Describe what has changed.>
- Improve the unit-test to catch similar errors in the future. 
- Fix mongodb version collection. 

**Link to tracking Issue:** <Issue number if applicable>
open-telemetry#27441 
**Testing:** <Describe what testing was performed and which tests were
added.>
Added the expectation assert for the Mock. 
This is the log output from running the tests in the first catching the
bug
```
--- FAIL: TestScraperScrape (0.00s)
    --- FAIL: TestScraperScrape/Failed_to_fetch_database_names (0.00s)
        pathTo/opentelemetry-collector-contrib/receiver/mongodbreceiver/scraper_test.go:316: FAIL:	GetVersion(string)
            		at: [pathTo/opentelemetry-collector-contrib/receiver/mongodbreceiver/scraper_test.go:146 pathTo/opentelemetry-collector-contrib/receiver/mongodbreceiver/scraper_test.go:292]
        pathTo/opentelemetry-collector-contrib/receiver/mongodbreceiver/scraper_test.go:316: PASS:	ListDatabaseNames(string,string,string)
        pathTo/opentelemetry-collector-contrib/receiver/mongodbreceiver/scraper_test.go:316: FAIL: 1 out of 2 expectation(s) were met.
            	The code you are testing needs to make 1 more call(s).
            	at: [pathTo/opentelemetry-collector-contrib/receiver/mongodbreceiver/scraper_test.go:316]
```
**Documentation:** <Describe the documentation added.>
…pen-telemetry#27410)

Fixes a bug where the wrong function was called for the exponential
histogram type during the copy operation.

Fixes open-telemetry#27409

Added a test for `combine` that covers the failing code path.
…open-telemetry#27289)

**Description:** 
Move kafka configures authentication to internal pkg, make references
become clearer. Additionally, avoid to use export function
`kafkaexporter.ConfigureAuthentication` to pass checkapi.

**Link to tracking Issue:** 

open-telemetry#27093
…7257)

**Description:**  allow adding resource_attribute warnings

**Link to tracking Issue:**
open-telemetry#19174

**Testing:**
- Generated unit tests
- Tested manually with some changes to k8sclusterreceiver:

```
  k8s.kubelet.version:
    description: The version of Kubelet running on the node.
    type: string
    enabled: false
    warnings:
      if_configured: This resource_attribute is deprecated and will be removed soon.

  opencensus.resourcetype:
    description: The OpenCensus resource type.
    type: string
    enabled: true
    warnings:
      if_enabled: This resource_attribute is deprecated and will be removed soon.
```

Gives the following output:
```
{"level":"warn","ts":1695985300.0413303,"caller":"metadata/generated_metrics.go:2201","msg":"[WARNING] `k8s.kubelet.version` should not be configured: This resource_attribute is deprecated and will be removed soon.","kind":"receiver","name":"k8s_cluster","data_type":"metrics"}     
{"level":"warn","ts":1695985300.041354,"caller":"metadata/generated_metrics.go:2207","msg":"[WARNING] `opencensus.resourcetype` should not be enabled: This resource_attribute is deprecated and will be removed soon.","kind":"receiver","name":"k8s_cluster","data_type":"metrics"}
 ```
…telemetry#27091)

**Description:** 

Change k8s.container.ready, k8s.pod.phase, k8s.pod.status_reason,
k8s.namespace.phase units to empty

**Link to tracking Issue:** open-telemetry#10553
…7474)

**Description:**
Fix metrics dropped when logs and metrics used at the same time

**Link to tracking Issue:**
Fixes open-telemetry#27473 

**Testing:**
Unit tests.
…pen-telemetry#27575)

Pass the correct `expected, actual` variables to CompareLogRecord fn in
plogtest.
…tribute (open-telemetry#27584)

Manually tested, built and image and manually enabled and disabled this
resource attribute.

This is the warning we publish:

>
{"level":"warn","ts":1696935210.905353,"caller":"metadata/generated_metrics.go:2201","msg":"[WARNING]
`opencensus.resourcetype` should not be configured: This
resource_attribute is deprecated and will be removed
soon.","kind":"receiver","name":"k8s_cluster","data_type":"metrics"}
@pjanotti pjanotti added the Run Windows Same as origin label Oct 10, 2023
opentelemetrybot and others added 3 commits October 10, 2023 10:05
…ry#27591)

Bump cloud.google.com/go/spanner from 1.49.0 to 1.50.0 in
/receiver/googlecloudspannerreceiver
Bump github.com/ClickHouse/clickhouse-go/v2 from 2.14.1 to 2.14.2 in
/exporter/clickhouseexporter
Bump
github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp
from 1.19.1 to 1.20.0 in /exporter/datadogexporter
Bump
github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp
from 1.19.1 to 1.20.0 in /processor/resourcedetectionprocessor
Bump
github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector
from 0.43.1 to 0.44.0 in /exporter/googlecloudexporter
Bump
github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector
from 0.43.1 to 0.44.0 in /exporter/googlemanagedprometheusexporter
Bump
github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector/googlemanagedprometheus
from 0.43.1 to 0.44.0 in /exporter/googlemanagedprometheusexporter
Bump github.com/aws/aws-sdk-go from 1.45.20 to 1.45.24 in
/exporter/awscloudwatchlogsexporter
Bump github.com/aws/aws-sdk-go from 1.45.20 to 1.45.24 in
/exporter/awsemfexporter
Bump github.com/aws/aws-sdk-go from 1.45.20 to 1.45.24 in
/exporter/awsxrayexporter
Bump github.com/aws/aws-sdk-go from 1.45.20 to 1.45.24 in
/exporter/datadogexporter
Bump github.com/aws/aws-sdk-go from 1.45.20 to 1.45.24 in
/extension/observer/ecsobserver
Bump github.com/aws/aws-sdk-go from 1.45.20 to 1.45.24 in
/internal/aws/awsutil
Bump github.com/aws/aws-sdk-go from 1.45.20 to 1.45.24 in
/internal/aws/cwlogs
Bump github.com/aws/aws-sdk-go from 1.45.20 to 1.45.24 in
/internal/aws/k8s
Bump github.com/aws/aws-sdk-go from 1.45.20 to 1.45.24 in
/internal/aws/proxy
Bump github.com/aws/aws-sdk-go from 1.45.20 to 1.45.24 in
/internal/aws/xray
Bump github.com/aws/aws-sdk-go from 1.45.20 to 1.45.24 in
/internal/aws/xray/testdata/sampleapp
Bump github.com/aws/aws-sdk-go from 1.45.20 to 1.45.24 in
/internal/metadataproviders
Bump github.com/aws/aws-sdk-go from 1.45.20 to 1.45.24 in
/processor/resourcedetectionprocessor
Bump github.com/aws/aws-sdk-go from 1.45.20 to 1.45.24 in
/receiver/awscontainerinsightreceiver
Bump github.com/aws/aws-sdk-go from 1.45.20 to 1.45.24 in
/receiver/awsecscontainermetricsreceiver
Bump github.com/aws/aws-sdk-go from 1.45.20 to 1.45.24 in
/receiver/awsxrayreceiver
Bump github.com/aws/aws-sdk-go-v2 from 1.21.0 to 1.21.1 in
/exporter/awskinesisexporter
Bump github.com/aws/aws-sdk-go-v2 from 1.21.0 to 1.21.1 in
/extension/sigv4authextension
Bump github.com/aws/aws-sdk-go-v2/config from 1.18.43 to 1.18.44 in
/exporter/awskinesisexporter
Bump github.com/aws/aws-sdk-go-v2/config from 1.18.43 to 1.18.44 in
/extension/sigv4authextension
Bump github.com/aws/aws-sdk-go-v2/credentials from 1.13.41 to 1.13.42 in
/exporter/awskinesisexporter
Bump github.com/aws/aws-sdk-go-v2/credentials from 1.13.41 to 1.13.42 in
/extension/sigv4authextension
Bump github.com/aws/aws-sdk-go-v2/service/kinesis from 1.19.0 to 1.19.1
in /exporter/awskinesisexporter
Bump github.com/aws/aws-sdk-go-v2/service/sts from 1.23.0 to 1.23.1 in
/extension/sigv4authextension
Bump github.com/getsentry/sentry-go from 0.24.1 to 0.25.0 in
/exporter/sentryexporter
Bump github.com/prometheus/prometheus from 0.47.0 to 0.47.1 in
/exporter/prometheusexporter
Bump github.com/prometheus/prometheus from 0.47.0 to 0.47.1 in
/exporter/prometheusremotewriteexporter
Bump github.com/prometheus/prometheus from 0.47.0 to 0.47.1 in
/pkg/translator/prometheusremotewrite
Bump github.com/prometheus/prometheus from 0.47.0 to 0.47.1 in
/receiver/prometheusreceiver
Bump github.com/prometheus/prometheus from 0.47.0 to 0.47.1 in
/receiver/simpleprometheusreceiver
Bump github.com/prometheus/prometheus from 0.47.0 to 0.47.1 in /testbed
Bump github.com/sijms/go-ora/v2 from 2.7.18 to 2.7.19 in
/receiver/sqlqueryreceiver
Bump github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common
from 1.0.759 to 1.0.761 in /exporter/tencentcloudlogserviceexporter
Bump go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp from
0.44.0 to 0.45.0 in /examples/demo/client
Bump go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp from
0.44.0 to 0.45.0 in /examples/demo/server
Bump golang.org/x/crypto from 0.13.0 to 0.14.0 in
/receiver/podmanreceiver
Bump golang.org/x/mod from 0.12.0 to 0.13.0 in /cmd/configschema
Bump golang.org/x/net from 0.15.0 to 0.16.0 in
/exporter/azuremonitorexporter
Bump golang.org/x/net from 0.15.0 to 0.16.0 in /internal/aws/awsutil
Bump golang.org/x/net from 0.15.0 to 0.16.0 in /receiver/jaegerreceiver
Bump golang.org/x/oauth2 from 0.12.0 to 0.13.0 in
/exporter/f5cloudexporter
Bump golang.org/x/oauth2 from 0.12.0 to 0.13.0 in
/extension/oauth2clientauthextension
Bump golang.org/x/sys from 0.12.0 to 0.13.0 in
/exporter/signalfxexporter
Bump golang.org/x/sys from 0.12.0 to 0.13.0 in /pkg/stanza
Bump golang.org/x/sys from 0.12.0 to 0.13.0 in /pkg/winperfcounters
Bump golang.org/x/sys from 0.12.0 to 0.13.0 in
/receiver/hostmetricsreceiver
Bump golang.org/x/sys from 0.12.0 to 0.13.0 in
/receiver/windowseventlogreceiver
Bump golang.org/x/tools from 0.13.0 to 0.14.0 in /internal/tools
Bump google.golang.org/api from 0.143.0 to 0.146.0 in
/exporter/f5cloudexporter
Bump google.golang.org/api from 0.143.0 to 0.146.0 in
/exporter/googlecloudpubsubexporter
Bump google.golang.org/api from 0.143.0 to 0.146.0 in
/receiver/googlecloudpubsubreceiver
Bump google.golang.org/api from 0.143.0 to 0.146.0 in
/receiver/googlecloudspannerreceiver
@pjanotti pjanotti force-pushed the run-tests-for-windows-and-integration-tags branch from cfafa9f to a293e77 Compare October 10, 2023 17:32
@pjanotti pjanotti closed this Oct 13, 2023
@pjanotti pjanotti deleted the run-tests-for-windows-and-integration-tags branch October 13, 2023 16:58
pjanotti pushed a commit that referenced this pull request Oct 28, 2024
… Histo --> Histogram (open-telemetry#33824)

## Description

This PR adds a custom metric function to the transformprocessor to
convert exponential histograms to explicit histograms.

Link to tracking issue: Resolves open-telemetry#33827

**Function Name**
```
convert_exponential_histogram_to_explicit_histogram
```

**Arguments:**

- `distribution` (_upper, midpoint, uniform, random_)
- `ExplicitBoundaries: []float64`

**Usage example:**

```yaml
processors:
  transform:
    error_mode: propagate
    metric_statements:
    - context: metric
      statements:
        - convert_exponential_histogram_to_explicit_histogram("random", [10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 70.0, 80.0, 90.0, 100.0]) 
```

**Converts:**

```
Resource SchemaURL: 
ScopeMetrics #0
ScopeMetrics SchemaURL: 
InstrumentationScope  
Metric #0
Descriptor:
     -> Name: response_time
     -> Description: 
     -> Unit: 
     -> DataType: ExponentialHistogram
     -> AggregationTemporality: Delta
ExponentialHistogramDataPoints #0
Data point attributes:
     -> metric_type: Str(timing)
StartTimestamp: 1970-01-01 00:00:00 +0000 UTC
Timestamp: 2024-07-31 09:35:25.212037 +0000 UTC
Count: 44
Sum: 999.000000
Min: 40.000000
Max: 245.000000
Bucket (32.000000, 64.000000], Count: 10
Bucket (64.000000, 128.000000], Count: 22
Bucket (128.000000, 256.000000], Count: 12
        {"kind": "exporter", "data_type": "metrics", "name": "debug"}
```

**To:**

```
Resource SchemaURL: 
ScopeMetrics #0
ScopeMetrics SchemaURL: 
InstrumentationScope  
Metric #0
Descriptor:
     -> Name: response_time
     -> Description: 
     -> Unit: 
     -> DataType: Histogram
     -> AggregationTemporality: Delta
HistogramDataPoints #0
Data point attributes:
     -> metric_type: Str(timing)
StartTimestamp: 1970-01-01 00:00:00 +0000 UTC
Timestamp: 2024-07-30 21:37:07.830902 +0000 UTC
Count: 44
Sum: 999.000000
Min: 40.000000
Max: 245.000000
ExplicitBounds #0: 10.000000
ExplicitBounds #1: 20.000000
ExplicitBounds #2: 30.000000
ExplicitBounds #3: 40.000000
ExplicitBounds #4: 50.000000
ExplicitBounds #5: 60.000000
ExplicitBounds #6: 70.000000
ExplicitBounds #7: 80.000000
ExplicitBounds #8: 90.000000
ExplicitBounds #9: 100.000000
Buckets #0, Count: 0
Buckets #1, Count: 0
Buckets #2, Count: 0
Buckets #3, Count: 2
Buckets #4, Count: 5
Buckets #5, Count: 0
Buckets #6, Count: 3
Buckets #7, Count: 7
Buckets #8, Count: 2
Buckets #9, Count: 4
Buckets #10, Count: 21
        {"kind": "exporter", "data_type": "metrics", "name": "debug"}
```

### Testing

- Several unit tests have been created. We have also tested by ingesting
and converting exponential histograms from the `statsdreceiver` as well
as directly via the `otlpreceiver` over grpc over several hours with a
large amount of data.

- We have clients that have been running this solution in production for
a number of weeks.

### Readme description:

### convert_exponential_hist_to_explicit_hist

`convert_exponential_hist_to_explicit_hist([ExplicitBounds])`

the `convert_exponential_hist_to_explicit_hist` function converts an
ExponentialHistogram to an Explicit (_normal_) Histogram.

`ExplicitBounds` is represents the list of bucket boundaries for the new
histogram. This argument is __required__ and __cannot be empty__.

__WARNING:__

The process of converting an ExponentialHistogram to an Explicit
Histogram is not perfect and may result in a loss of precision. It is
important to define an appropriate set of bucket boundaries to minimize
this loss. For example, selecting Boundaries that are too high or too
low may result histogram buckets that are too wide or too narrow,
respectively.

---------

Co-authored-by: Kent Quirk <[email protected]>
Co-authored-by: Tyler Helmuth <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Run Windows Same as origin
Projects
None yet
Development

Successfully merging this pull request may close these issues.