Commit Graph

21 Commits

Author SHA1 Message Date
Bogdan fbf1e2a09c Revert changes to config.[Receiver|Processor|Exporter|Extension]Settings
Signed-off-by: Bogdan <bogdandrutu@gmail.com>
2022-11-05 10:04:50 -07:00
Bogdan d6ed8246b6 Deprecate all types and funcs in config package
The main reason is to remove the circular dependency between the config (including sub-packages) and component. Here is the current state:
* component depends on config
* config/sub-package[grpc, http, etc.] depends on config & component

Because of this "circular" dependency, we cannot split for example "config" into its own module, only if all the other config sub-packages are also split.

Signed-off-by: Bogdan <bogdandrutu@gmail.com>
2022-11-05 10:04:49 -07:00
Bogdan Drutu 186077db7a
Define a new API for components stability level to match extensions as well (#5762)
Signed-off-by: Bogdan <bogdandrutu@gmail.com>
2022-08-03 10:13:31 -07:00
Bogdan Drutu b2dc376cca
Small fixes in the new StabilityLevel feature (#5763)
* Make the enum values same type as the enum type
* Use config.DataType everywhere

Signed-off-by: Bogdan <bogdandrutu@gmail.com>
2022-08-01 12:00:47 -07:00
Bogdan Drutu 495c1db39e
Replace deprecate With[Traces|Metrics|Logs][Receiver|Processor|Exporter] with the new definition (#5759)
Signed-off-by: Bogdan <bogdandrutu@gmail.com>
2022-07-29 11:38:34 -07:00
Alex Boten 9f0d97ca57
add stability level to component factory (#5580)
* add stability level to component factory

* update docstring

* use a map instead of a single stability level

* apply review feedback

* add tests

* fix impi, add changelog

* add processors, receivers

* fix inconsistency

* set noop to stable

* update calls in deprecated func
2022-07-05 14:02:23 -07:00
Bogdan Drutu 83c6ed1366
Move everything from exporterhelper to component. (#4899)
Updates https://github.com/open-telemetry/opentelemetry-collector/issues/4681

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2022-02-22 15:29:58 -08:00
Pablo Baeyens 9631ceabb7
Make `component.Factory` inherit `internalinterface.InternalInterface` (#4338)
* Make `component.Factory` inherit `internalinterface.InternalInterface`

* Add changelog entry

* Add comment on `component.Factory`
2021-11-02 12:09:32 -07:00
Patryk Matyjasek 1f7ffab2ca
Replace ExporterCreateParams with ExporterCreateSettings. (#3164)
Replace all dependencies in Exporters.

Signed-off-by: Patryk Matyjasek <pmatyjasek@sumologic.com>

# Conflicts:
#	exporter/prometheusremotewriteexporter/factory.go

# Conflicts:
#	exporter/fileexporter/factory.go
#	exporter/opencensusexporter/factory_test.go
#	exporter/otlpexporter/factory_test.go
#	exporter/prometheusremotewriteexporter/factory_test.go

# Conflicts:
#	CHANGELOG.md
#	exporter/kafkaexporter/factory.go
#	exporter/opencensusexporter/factory.go
#	exporter/otlpexporter/factory.go
#	exporter/otlphttpexporter/factory.go
#	exporter/zipkinexporter/factory.go

# Conflicts:
#	CHANGELOG.md
#	component/exporter.go
#	exporter/opencensusexporter/factory_test.go
2021-06-02 06:03:35 -07:00
Dhruv Vora d5891ec866
Update function descriptions (#3025)
* Made changes to componenttest package

* Changes to nop_exporter_test

* Reverted the changes in exporter and nop_exporter

* Updated comments for the Factory

* reverted usage of singletons
2021-05-12 11:35:22 -07:00
Bogdan Drutu 0f75efa9f3
Fix all TraceExporter usages, use TracesExporter (#2937)
* Fix all TraceExporter usages, use TracesExporter

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

* Update changelog

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2021-04-14 14:36:07 -07:00
Bogdan Drutu 80a415db43
Move configerror.ErrDataTypeIsNotSupported to componenterror.ErrDataTypeIsNotSupported (#2886)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2021-04-06 07:36:46 -07:00
Bogdan Drutu e7c74eb2fd
Move configmodels to config (#2808)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2021-03-26 12:14:35 -07:00
Bogdan Drutu 2c8915a349
Rename component.TraceExporter to component.TracesExporter (#2027)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2020-10-29 12:53:17 -04:00
Bogdan Drutu 79f22a8867
Remove old exporter and exporter factory (#1630)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2020-08-24 19:16:32 -07:00
Jay Camp 1e65674799
Update copyright (#1597)
* Update copyright

* rebase
2020-08-19 18:25:44 -07:00
Bogdan Drutu 284ea119ed
Fix component/config/exporter/internal to enable unparam (#1508)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2020-08-05 17:48:07 -07: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 cbda5d71ea
Small test cleanups in config (#919)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2020-05-06 07:16:07 -07:00
Tigran Najaryan 9d16f5971e
Declare component Type as a type alias (#860)
We previously used string in the codebase to represent component type
(as it is known to factories and referred to in the config).

Now we have configmodels.Type alias that provides stronger compile-time
type checks.

This is a breaking change for components but fixing the components is easy.

Resolves: https://github.com/open-telemetry/opentelemetry-collector/issues/762
2020-04-24 11:55:04 -04: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