Commit Graph

19 Commits

Author SHA1 Message Date
Bogdan Drutu 2a54e941a4
Move more old internal structs to old files, and rename funcs with Old (#1662)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2020-08-27 21:53:55 -07:00
Bogdan Drutu 42ac0eeafc
Move previous internal metrics package to dataold (#1658)
Need to re-generate the new internal metrics, but it is too much code to change,
so will move this to dataold (was internal anyway, so no public breaking change).

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2020-08-27 20:19:39 -07:00
Jay Camp 1e65674799
Update copyright (#1597)
* Update copyright

* rebase
2020-08-19 18:25:44 -07:00
Bogdan Drutu 0c7de066d7
Add helper processor factory to reduce boilerplate (#1339)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2020-07-13 21:50:01 -07:00
Bogdan Drutu 3d2489dec0
Add metrics support for qretry processor (#1313)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2020-07-10 12:12:47 -07:00
Pavol Loffay d8c017a102
Allow partial retries in queued retry processor (#1297)
* Allow partial retries in queued retry processor

Signed-off-by: Pavol Loffay <ploffay@redhat.com>

* Rename consumererror file

Signed-off-by: Pavol Loffay <ploffay@redhat.com>

* Fix data race

Signed-off-by: Pavol Loffay <ploffay@redhat.com>
2020-07-10 09:46:28 -07:00
Bruno Garcia 8aa2731844
Remove year from copyright (#964) 2020-05-26 12:44:22 -04:00
Bogdan Drutu a637b41c22
Change entire repo to use the new vanityurl go.opentelemetry.io/collector (#977)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2020-05-15 12:04:05 -07:00
Dmitrii Anoshin 27277a675f
Switch queued_retry processor to internal data model (#824) 2020-04-21 17:45:43 -07:00
Bogdan Drutu e21cdcf428
Consolidate test host implementations under componenttest (#785)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2020-04-08 10:26:18 -07:00
Bogdan Drutu 0bc0d57022
Add context to start and stop methods in the component (#790)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2020-04-06 10:59:17 -07:00
Bogdan Drutu 81cc48ca89
Cleanup processors, remove options, hide ctor (#770)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2020-04-02 14:04:02 -07:00
Tigran Najaryan c931b9875f
Refactor component and factory interface definitions (#683)
As we are preparing for Beta release we want to cleanup publicly exported
types and interfaces and do all necessary refactoring and breaking changes
now, before the Beta release. We will have a lot less leeway for breaking
changes after the Beta release.

Component related type declarations are now all in the `component` package.
This makes it possible for the interfaces to reference each other. This
was were very restricted earlier because component interfaces were in 5
different packages and many proposals were impossible to implement because
they would result in circular dependencies between packages.

(An example upcoming new capability that is enabled by this refactoring
is for components to query the Host for other components and for factories).

List of changes in this commit:

- Move all factory interfaces and component interfaces to component package.
- Rename old factories and components interfaces to use "Old" suffix for clarity.
- Eliminate forced checks that components implement factories. This is already
  enforced by the compiler when the factory is added to the Defaults() and
  was unnecessary code.
- Eliminated some unnecessary codes (removed overall over 200 lines).
- Run `go mod tidy` on testbed.

Warning: this is a breaking change to publicly exported types and function
signatures. We announced that a breaking change is comming. Once we agree
to merge this commit we will need to announce the exact list of changes
and guide component authors to modify their components accordingly.

Future changes:
- Once all components are migrated to the new internal representation,
  delete all "Old"-suffixed definitions. This will likely be done while
  we are still in Beta phase, before the Stable release.
2020-03-25 13:43:35 -04:00
Paulo Janotti b9dc8ec8a3
Update processor metrics to obsreport (#606)
Initial updates to migrate processor metrics to obsreport package, ie.: the new metrics.

Cleaned-up a bit some of the processor metrics and spelled out the rule names for new metrics.

Related to https://github.com/open-telemetry/opentelemetry-collector/issues/141

Testing: Added test for the processor common metrics, validated manually that legacy metrics were still working
2020-03-16 09:41:02 -04:00
Ian Quick 164bf50687
Record dropped spans when zero (#528)
Change "batches_dropped" to a .Sum(), and emit 0s for them on processor start.

Motivation:
Currently with batches_dropped being a .Count() we end up with a missing metric for bad_batches until one occurs. This makes discovering the "error" metrics I want to watch kind of annoying as I can't just look in the default prom metric list and choose what I want to dashboard / alert on.

I also think that for things we KNOW are 0, we should be emitting a 0. If we send 8000 batches, the bad_batches shouldn't be absent it should be 0. I do think that view.Count()'s should be initialized to 0 as well ( but I may not know the whole story there. )

I can add these to the other processors if we think this is a good idea. For now I just hoped the metric name is correct in my current production dashboards.

Testing:
I added some happy path metric tests to the processor. I can figure out a way to add bad path tests, it will just require a bunch of plumbing I think.

Documentation: I think the metrics as a whole need better documentation, for example I "fail_sends" in the exporter wasn't actually an error. Maybe a distinction between data loss events or not?
2020-02-05 09:45:21 -05:00
Ruslan Abelharisov 75da0087e6 migrate code base to use "github.com/stretchr/testify/require" in processor (#406) 2019-10-31 15:14:46 -07:00
Tigran Najaryan 402b80cabd
Add Capabilities to Processor and use for Fanout cloning decision (#374)
This is part 1 of the task to introduce capabilities and declare
processor's intent to mutate or not mutate consumed data for the
purpose of optimizing pipeline data ownership.

If a processor declares that they mutate data the pipeline
that the processor is in will use cloning fan out connector.
This is done only if the pipeline shares a receiver with another
pipeline.

This ensures that it is safe for processor modify the data (because
pipelines work concurrently) and avoids cloning for pipelines that
consume data from the same receiver but do not modify it.

For more details see:
https://github.com/open-telemetry/opentelemetry-collector/issues/372
2019-10-02 14:35:00 -04:00
Tigran Najaryan dc6b290e3c
Rename all github paths from opentelemtry-service to opentelemetry-collector (#371)
This is part of renaming task: https://github.com/open-telemetry/opentelemetry-service/issues/352
2019-09-27 17:17:03 -04:00
Yang Song b3f1b93bfe Rename all processors to have suffix *processor (#268)
To make the processor names consistent with all receivers, exporters and
other processors.
2019-08-20 07:18:32 -07:00