Skip to content

Commit f8bd7cf

Browse files
flandsbogdandrutu
authored andcommitted
Re-add CODEOWNERS and docs (#16)
* Re-add CODEOWNERS and docs After mirror of OC Service repo, re-add new files to get back to consistent state. * Remove .github directory
1 parent 9317ffe commit f8bd7cf

File tree

5 files changed

+85
-15
lines changed

5 files changed

+85
-15
lines changed

.github/CODEOWNERS

-6
This file was deleted.

.github/wip.yml

-9
This file was deleted.

CODEOWNERS

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#####################################################
2+
#
3+
# List of approvers for OpenTelemetry Service
4+
#
5+
#####################################################
6+
#
7+
# Learn about membership in OpenTelemetry community:
8+
# https://github.com/open-telemetry/community/blob/master/community-membership.md
9+
#
10+
#
11+
# Learn about CODEOWNERS file format:
12+
# https://help.github.com/en/articles/about-code-owners
13+
#
14+
15+
* @bogdandrutu @pjanotti @flands @songy23 @tigrannajaryan

docs/VISION.md

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# OpenTelemetry Service Long-term Vision
2+
3+
The following are high-level items that define our long-term vision for OpenTelemetry Service, what we aspire to achieve. This vision is our daily guidance when we design new features and make changes to the Service.
4+
5+
This is a living document that is expected to evolve over time.
6+
7+
## Performant
8+
Highly stable and performant under varying loads. Well-behaved under extreme load, with predictable, low resource consumption.
9+
10+
## Observable
11+
Expose own operational metrics in a clear way. Be an exemplar of observable service. Allow configuring the level of observability (more or less metrics, traces, logs, etc reported).
12+
13+
## Multi-Data
14+
Support traces, metrics, logs and other relevant data types.
15+
16+
## Usable Out of the Box
17+
Reasonable default configuration, supports popular protocols, runs and collects out of the box.
18+
19+
## Extensible
20+
Extensible and customizable without touching the core code. Can create custom agents based on the core and extend with own components. Welcoming 3rd party contribution policy.
21+
22+
## Unified Codebase
23+
One codebase for daemon (Agent) and standalone service (Collector).

docs/migrating-from-opencensus.md

+47
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
## Action Plan for Bootstraping from OpenCensus
2+
3+
### Goals
4+
We need to bootstrap the OpenTelemetry Service using the existing OpenCensus Service codebase. We agreed to split the Service codebase into 2 parts: core and contrib. This bootstrapping is a good opportunity to do the splitting by only including in the OpenTelemetry Service core the minimum number of receivers and exporters and moving the rest of functionality to a contrib package (most vendor-specific code).
5+
6+
The contrib package and vendor-specific receivers and exporters will continue to be available and there is no intent to retire it. The intent is to have a clear decoupling in the codebase that facilitates independent contribution of new components in the future, allows to easily create customized versions of a Service and makes it clear that core contributors will be responsible for maintenance of the core while vendor-specific components will be maintained by corresponding vendors (note: this does not exclude dual participation at all - some developers will likely work for vendors and will also be core maintainers).
7+
8+
# Migration Tasks
9+
10+
This is the action plan that also shows the progress. Tick the boxes after the task is complete.
11+
12+
[ ] Copy all commits from https://github.com/census-instrumentation/opencensus-service to https://github.com/open-telemetry/opentelemetry-service
13+
Make sure commit history is preserved.
14+
15+
[ ] Remove receivers and exporters that are not part of core. We will keep the following in the core:
16+
17+
- Prometheus
18+
- Jaeger (agent and collector ones)
19+
- Zipkin
20+
- OpenCensus, temporarily until OpenTelemetry one is available (we may want to keep OC for longer to facilitate migrations)
21+
22+
[ ] Cleanly decouple `core` from `cmd` in the repository. `core` will contain all business logic. `cmd` will be just a main.go that executes the business logic and compiles to `otsvc` executable.
23+
24+
`otsvc` will will only include receivers and exporters which we consider to be part of the core.
25+
26+
The new codebase will contain improvements which are already in progress and which are aimed at making the codebase extensible and enable the splitting to core and contrib. This includes 3 initiatives:
27+
28+
- Decoupling of receiver and exporter implementations from the core logic.
29+
30+
- Introduction of receiver and exporter factories that can be individually registered to activate them.
31+
32+
- Implementation of the [new configuration format](https://docs.google.com/document/d/1GWOzV0H0RTN1adiwo7fTmkjfCATDDFGuOB4jp3ldCc8/edit#) that makes use of factories and allows for greater flexibility in the configuration.
33+
34+
The functionally of the new `otsvc` will heavily lean on existing implementation and will be mostly a superset of the current agent/collector functionality when considering core receivers and exporters only (however we will allow deviations if it saves significant implementation effort and makes the service better).
35+
36+
[ ] Provide guidelines and example implementations for vendors to follow when they add new receivers and exporters to the contrib package.
37+
38+
[ ] Create a new repository for contrib and copy all commits from https://github.com/census-instrumentation/opencensus-service to https://github.com/open-telemetry/opentelemetry-service
39+
Make sure commit history is preserved.
40+
41+
[ ] Cleanup the `contrib` repo to only contain additional vendor specific receivers and exporters.
42+
43+
(Note: alternatively `contrib` can be a directory in the main repo - this is still open for discussion).
44+
45+
[ ] Provide OpenCensus-to-OpenTelemetry Service migration guidelines for end-users who want to migrate. This will include recommendations on configuration file migration. We will also consider the possibility to support old configuration format in the new binary.
46+
47+
This approach allows us to have significant progress towards 2 stated goals in our [vision document](../blob/master/docs/VISION.md): unify the codebase for agent and collector and make the service more extensible.

0 commit comments

Comments
 (0)