Skip to content

Conversation

@songy23
Copy link
Member

@songy23 songy23 commented Jul 17, 2019

Fixes #6.

@songy23
Copy link
Member Author

songy23 commented Jul 17, 2019

/cc @dinooliva @rghetia

Copy link
Contributor

@pjanotti pjanotti left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @songy23 not sure if you want to bring it as it is and latter improve it or change it before merging. In any case here are some small issues.

Copy link
Member Author

@songy23 songy23 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @pjanotti for the review. This is mostly a copy-and-paste of https://github.com/census-instrumentation/opencensus-service/tree/master/exporter/stackdriverexporter with conforming to the new config and factory in otel-svc. You're right that there're certain things that are stale with the new configs.

@pjanotti pjanotti merged commit 68b55bb into open-telemetry:master Jul 17, 2019
@songy23 songy23 deleted the stackdriver branch July 17, 2019 18:38
bogdandrutu pushed a commit that referenced this pull request May 12, 2022
* Add basic CI for unit testing
TylerHelmuth added a commit that referenced this pull request Sep 21, 2024
… Histo --> Histogram (#33824)

## Description

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

Link to tracking issue: Resolves #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]>
edma2 pushed a commit to edma2/opentelemetry-collector-contrib that referenced this pull request Oct 3, 2024
mx-psi pushed a commit that referenced this pull request Feb 26, 2025
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

This PR adds support for configuring metric temporality (delta or
cumulative) in the telemetrygen tool. This allows users to generate
metrics with different temporality types, which is particularly useful
for testing different metric collection scenarios.

##### Changes

- Added `temporalityType` flag for metrics pipeline that accepts values:
`delta` or `cumulative`


<!-- Issue number (e.g. #1234) or full URL to issue, if applicable. -->
#### Link to tracking issue
Fixes #38073 

<!--Describe what testing was performed and which tests were added.-->
#### Testing

Testing was performed by setting up as simple collector with `otlp
`receiver and `debug` exporter

##### Sum Datapoint

```
Resource SchemaURL: https://opentelemetry.io/schemas/1.13.0
Resource attributes:
     -> service.name: Str(telemetrygen)
ScopeMetrics #0
ScopeMetrics SchemaURL: 
InstrumentationScope  
Metric #0
Descriptor:
     -> Name: gen
     -> Description: 
     -> Unit: 
     -> DataType: Histogram
     -> AggregationTemporality: Delta
```

##### Histogram Datapoint

```
Count: 0
Sum: 3940.000000
ExplicitBounds #0: 0.000000
ExplicitBounds #1: 5.000000
ExplicitBounds #2: 10.000000
ExplicitBounds #3: 25.000000
ExplicitBounds #4: 50.000000
ExplicitBounds #5: 75.000000
ExplicitBounds #6: 100.000000
ExplicitBounds #7: 250.000000
ExplicitBounds #8: 500.000000
ExplicitBounds #9: 750.000000
ExplicitBounds #10: 1000.000000
ExplicitBounds #11: 2500.000000
ExplicitBounds #12: 5000.000000
ExplicitBounds #13: 7500.000000
ExplicitBounds #14: 10000.000000
Buckets #0, Count: 0
Buckets #1, Count: 0
Buckets #2, Count: 1
Buckets #3, Count: 0
Buckets #4, Count: 0
Buckets #5, Count: 0
Buckets #6, Count: 3
Buckets #7, Count: 4
Buckets #8, Count: 1
Buckets #9, Count: 1
Buckets #10, Count: 0
Buckets #11, Count: 0
Buckets #12, Count: 0
Buckets #13, Count: 0
Buckets #14, Count: 0
```


- [x] Need to add tests for the config

---------

Signed-off-by: Nikos Angelopoulos <[email protected]>
bwplotka pushed a commit to bwplotka/g-otel-col that referenced this pull request Apr 14, 2025
cuichenli pushed a commit to cuichenli/opentelemetry-collector-contrib that referenced this pull request May 12, 2025
Merge in DASHBASE/opentelemetry-collector-contrib from add-more-dimension-to-query-sample to rapid

Squashed commit of the following:

commit 4c61b5a6f65ceef714b097544222f3a7d8183fb7
Author: Will Li <[email protected]>
Date:   Tue Jan 21 10:27:57 2025 +0800

    improve error handling

commit 11d6b60184b6d504b4d17fda2c18dabf59b9820d
Merge: 92dfa075af c6ef2a5
Author: Will Li <[email protected]>
Date:   Tue Jan 21 09:14:15 2025 +0800

    Merge branch 'rapid' of ssh://bitbucket.corp.appdynamics.com:7999/dashbase/opentelemetry-collector-contrib into add-more-dimension-to-query-sample

commit 92dfa075af57dd505c2bff292b9f19d0dd78c9af
Author: Will Li <[email protected]>
Date:   Mon Jan 20 20:44:26 2025 +0800

    convert data type and remove extra comma

commit 14f17892886778fdb3059f53a49dc307bce1ac5a
Author: Will Li <[email protected]>
Date:   Mon Jan 20 16:04:04 2025 +0800

    fix isnull caused missing column name

commit 683048bf425a3c2f321182c3b8b281f791352c65
Author: Will Li <[email protected]>
Date:   Mon Jan 20 16:02:30 2025 +0800

    update query and export dimensions

commit 9dc5fe873d8b44569202981a55bdad5d93c726bd
Author: Will Li <[email protected]>
Date:   Mon Jan 20 15:46:08 2025 +0800

    add more dimensions to query

commit 4b449bfbb9f2fb28eaa57dd502bf0f48814fc457
Author: Will Li <[email protected]>
Date:   Fri Jan 17 16:22:21 2025 +0800

    add more dimensions to the query samples
dyl10s added a commit to dyl10s/opentelemetry-collector-contrib that referenced this pull request Aug 13, 2025
# This is the 1st commit message:

starting port to azeventhubs

# This is the commit message open-telemetry#2:

split imlementations

# This is the commit message open-telemetry#3:

basics are working

# This is the commit message open-telemetry#4:

starting azeventhub tests

# This is the commit message open-telemetry#5:

updated types

# This is the commit message open-telemetry#6:

wip

# This is the commit message open-telemetry#7:

added default option to persist store
jelly-afk pushed a commit to jelly-afk/opentelemetry-collector-contrib that referenced this pull request Sep 8, 2025
* Added CI workflows to repo

* Remove references to SEMCONVGEN in Makefile
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

exporter/stackdriver: move code and configs here.

3 participants