Commit Graph

19 Commits

Author SHA1 Message Date
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
Bogdan Drutu 27b2d657f7
Rename Cap to Len for maps (#908)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2020-05-01 16:04:32 -07:00
Bogdan Drutu c355dff685
Change pdata.TraceData -> pdata.Traces and ConsumeTrace -> ConsumeTraces (#837)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2020-04-15 16:20:51 -07:00
Bogdan Drutu 995b153e23
Move internal/data to consumer/pdata. (#835)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2020-04-15 13:13:55 -07:00
Bogdan Drutu 5f7bcd40d8
Add maps iterators similar Java's "ForEach" (#818)
* Add maps iterators similar with MapIter in reflect

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>

* Try to use iterate with callback.

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2020-04-10 15:00:07 -07:00
Bogdan Drutu 990df3baaa
Change spanprocessor to use the new data format (#788)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2020-04-09 09:35:00 -07:00
Bogdan Drutu 2d1a9b7ed1
Rename componenterr to componenterrors (#783)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2020-04-06 12:15:13 -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 84326d92c4
Move oterr to componenterr (#771)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2020-04-03 20:16:17 -04: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
Constance Caramanolis 7d44a4c211
Refactor include/exclude logic and expose to span processor. (#537)
* Refactor include/exclude processor logic and add it to span processor.

* Add files containing common logic.

* Move matching and attribute functions to internal
2020-02-10 14:33:37 -08:00
Tigran Najaryan fb09004bcf
Add support to extract attributes and rename span (#519)
This adds "to_attributes" functionality that complements already
existing "from_attributes" functionality. This is very useful for
extracting attributes from span names and reducing cardinality of
span names.

For usage and examples see rocessor/spanprocessor/config.go and
processor/spanprocessor/testdata/config.yaml.

Testing: unit tests added.
Documentation: see readme.md, config.go and config.yaml
2020-01-28 12:11:15 -08:00
Tigran Najaryan 91728bc8ce
Make component interfaces uniform (#488)
This change fixes inconsistencies in component interfaces. Motivation:

- Uniformness results in reduction of code that currently has to
  deal with differences.
- Processor.Start is missing and is important for allowing processors
  to communicate with the Host.

What's changed:

- Introduced Component interface.
- Unified Host interface.
- Added a Start function to processors (via Component interface).
- Start/Shutdown is now called for Processors from service start/shutdown.
- Receivers, Exporters, Processors, Extensions now embed Component interface.
- Replaced StartTraceReception/StartMetricsReception by single Start function for receivers.
- Replaced StopTraceReception/StopMetricsReception by single Shutdown function for receivers.

Note: before merging this we need to announce the change in Gitter since it
breaks existing implementations in contrib (although the fix is easy).

Resolves #477
Resolves #262
2020-01-10 08:49:34 -05:00
Tigran Najaryan 01d8d945b6
Add Shutdown() function to processors (#379)
Shutdown() method is added so that we can implement proper
pipeline flushing during collector shutdown. This will be done
in a future PR.
2019-10-08 15:56:19 -04: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
Constance Caramanolis 41a7afa548 Add Span Processor logic
Adds the logic to name a span using values from the attributes.
2019-09-04 09:59:13 -07:00