Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

List all published artifacts in readme #4481

Merged
merged 2 commits into from
May 24, 2022

Conversation

jack-berg
Copy link
Member

@jack-berg jack-berg commented May 19, 2022

We publish a lot of artifacts, and to a newcomer it's not obvious:

  1. What those artifacts are - the way to discover all the artifacts is to go inspect one of the boms we publish.
  2. Where the source for a given artifact lives - it's not always intuitive how artifact ids map to source modules in the project.

I suggest we categorize and list all the artifacts in the readme, with each artifact containing a link to its source module, its maven artifact id, and its current version.

This was prompted by noticing that the artifacts listed in releases are not up to date.

@jack-berg jack-berg requested a review from a user May 19, 2022 14:57
@jack-berg jack-berg requested a review from Oberon00 as a code owner May 19, 2022 14:57
@codecov
Copy link

codecov bot commented May 19, 2022

Codecov Report

Merging #4481 (ba70985) into main (dbe9a8e) will increase coverage by 0.06%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##               main    #4481      +/-   ##
============================================
+ Coverage     90.12%   90.18%   +0.06%     
- Complexity     5003     5010       +7     
============================================
  Files           569      569              
  Lines         15435    15440       +5     
  Branches       1487     1488       +1     
============================================
+ Hits          13911    13925      +14     
+ Misses         1061     1056       -5     
+ Partials        463      459       -4     
Impacted Files Coverage Δ
...entelemetry/sdk/logs/export/BatchLogProcessor.java 89.47% <0.00%> (+0.75%) ⬆️
...metry/sdk/metrics/export/PeriodicMetricReader.java 89.85% <0.00%> (+1.44%) ⬆️
...sdk/autoconfigure/MetricExporterConfiguration.java 88.52% <0.00%> (+2.58%) ⬆️
...etry/exporter/prometheus/PrometheusHttpServer.java 79.00% <0.00%> (+5.00%) ⬆️
.../sdk/autoconfigure/MeterProviderConfiguration.java 75.00% <0.00%> (+12.50%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update dbe9a8e...ba70985. Read the comment docs.

Copy link
Member

@mateuszrzeszutek mateuszrzeszutek left a comment

Choose a reason for hiding this comment

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

👍
This is super useful, I remember running into this problem (locating the sources for a module) at least once myself.

Copy link
Contributor

@jkwatson jkwatson left a comment

Choose a reason for hiding this comment

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

Fantastic. Even as a maintainer, I find myself digging out the bom from maven central when I want to find the names of all this stuff. 👍🏽

@Oberon00
Copy link
Member

Related to #3632, the linked BOMs already have that list. But I agree it's more user-friendly to list them directly in the README.

README.md Outdated
| [Metrics SDK](./sdk/metrics) | `opentelemetry-sdk-metrics` | <!--VERSION_STABLE-->1.14.0<!--/VERSION_STABLE--> |
| [Trace SDK](./sdk/trace) | `opentelemetry-sdk-trace` | <!--VERSION_STABLE-->1.14.0<!--/VERSION_STABLE--> |
| [Log SDK](./sdk/logs) | `opentelemetry-sdk-logs` | <!--VERSION_UNSTABLE-->1.14.0-alpha<!--/VERSION_UNSTABLE--> |
| [SDK Testing](./sdk/testing) | `opentelemetry-sdk-testing` | <!--VERSION_STABLE-->1.14.0<!--/VERSION_STABLE--> |
Copy link
Member

Choose a reason for hiding this comment

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

Just from the name, I have no idea what "SDK Testing" is.

Copy link
Member Author

Choose a reason for hiding this comment

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

Initially was trying to keep a description of the artifacts out of scope, but I think its useful so I've added an additional description column

README.md Outdated
| [OTLP HTTP Trace Exporter](./exporters/otlp-http/trace) | `opentelemetry-exporter-otlp-http-trace` | <!--VERSION_STABLE-->1.14.0<!--/VERSION_STABLE--> |
| [OTLP HTTP Metrics Exporter](./exporters/otlp-http/metrics) | `opentelemetry-exporter-otlp-http-metrics` | <!--VERSION_STABLE-->1.14.0<!--/VERSION_STABLE--> |
| [OTLP HTTP Logs Exporter](./exporters/otlp-http/logs) | `opentelemetry-exporter-otlp-http-logs` | <!--VERSION_UNSTABLE-->1.14.0-alpha<!--/VERSION_UNSTABLE--> |
| [OTLP Common](./exporters/otlp/common) | `opentelemetry-exporter-otlp-common` | <!--VERSION_STABLE-->1.14.0<!--/VERSION_STABLE--> |
Copy link
Member

Choose a reason for hiding this comment

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

I think this is only meant as an internal component, should we still list it here? If so, maybe with a more descriptive name?

Copy link
Member Author

Choose a reason for hiding this comment

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

Have added (internal) suffix to the description of purely internal components. With that said, otlp-common isn't purely internal - it has experimental APIs for enabling OTLP retry.

README.md Outdated
| [OTLP Common](./exporters/otlp/common) | `opentelemetry-exporter-otlp-common` | <!--VERSION_STABLE-->1.14.0<!--/VERSION_STABLE--> |
| [Jaeger gRPC Exporter](./exporters/jaeger) | `opentelemetry-exporter-jaeger` | <!--VERSION_STABLE-->1.14.0<!--/VERSION_STABLE--> |
| [Jaeger Thrift Exporter](./exporters/jaeger-thrift) | `opentelemetry-exporter-jaeger-thift` | <!--VERSION_STABLE-->1.14.0<!--/VERSION_STABLE--> |
| [Jaeger Proto](./exporters/jaeger-proto) | `opentelemetry-exporter-jaeger-proto` | <!--VERSION_STABLE-->1.14.0<!--/VERSION_STABLE--> |
Copy link
Member

Choose a reason for hiding this comment

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

Also probably an internal component?

Copy link
Member Author

Choose a reason for hiding this comment

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

Yes, and one I think can be deleted. Leaving it here for completeness until then.

README.md Outdated
| [Zipkin Exporter](./exporters/zipkin) | `opentelemetry-exporter-zipkin` | <!--VERSION_STABLE-->1.14.0<!--/VERSION_STABLE--> |
| [Prometheus Exporter](./exporters/prometheus) | `opentelemetry-exporter-prometheus` | <!--VERSION_UNSTABLE-->1.14.0-alpha<!--/VERSION_UNSTABLE--> |

### Shim
Copy link
Member

Choose a reason for hiding this comment

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

Maybe add a one-sentence description of what we mean by "shim".

Copy link
Member Author

Choose a reason for hiding this comment

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

I think with the added description column these have become self explanatory.

README.md Outdated
| [OpenCensus Shim](./opencensus-shim) | `opentelemetry-opencensus-shim` | <!--VERSION_UNSTABLE-->1.14.0-alpha<!--/VERSION_UNSTABLE--> |
| [OpenTracing Shim](./opentracing-shim) | `opentelemetry-opentracing-shim` | <!--VERSION_UNSTABLE-->1.14.0-alpha<!--/VERSION_UNSTABLE--> |

### Extension
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
### Extension
### Extensions

Or "Extra components"?

Copy link
Member Author

Choose a reason for hiding this comment

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

I've pluralized all the headers.

README.md Outdated
| [AWS Extension](./extensions/aws) | `opentelemetry-extension-aws` | <!--VERSION_STABLE-->1.14.0<!--/VERSION_STABLE--> |
| [Kotlin Extension](./extensions/kotlin) | `opentelemetry-extension-kotlin` | <!--VERSION_STABLE-->1.14.0<!--/VERSION_STABLE--> |
| [Trace Propagators Extension](./extensions/trace-propagators) | `opentelemetry-extension-trace-propagators` | <!--VERSION_STABLE-->1.14.0<!--/VERSION_STABLE--> |
| [Incubator Extension](./extensions/incubator) | `opentelemetry-extension-incubator` | <!--VERSION_UNSTABLE-->1.14.0-alpha<!--/VERSION_UNSTABLE--> |
Copy link
Member

Choose a reason for hiding this comment

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

It's not really an extension to the incubator, it's incubating APIs that are currently provided as extensions. Maybe

Suggested change
| [Incubator Extension](./extensions/incubator) | `opentelemetry-extension-incubator` | <!--VERSION_UNSTABLE-->1.14.0-alpha<!--/VERSION_UNSTABLE--> |
| [Incubating/Experimental new core APIs](./extensions/incubator) | `opentelemetry-extension-incubator` | <!--VERSION_UNSTABLE-->1.14.0-alpha<!--/VERSION_UNSTABLE--> |

Copy link
Member Author

Choose a reason for hiding this comment

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

Changed this header from "Extensions" => "API Extensions" to reflect the difference between these extensions and the SDK extensions.

@jack-berg jack-berg merged commit 540c2f5 into open-telemetry:main May 24, 2022
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.

5 participants