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

Rename Log API to Log SPI to prevent confusion #3187

Conversation

tigrannajaryan
Copy link
Member

We keep seeing confusion about what Log API is. There was a proposal [1]
to use the term SPI (Service Provider Interface) to help prevent the
confusion.

Please take a look and comment on whether you think this renaming helps
and is reasonable.

[1] #2911 (comment)

We keep seeing confusion about what Log API is. There was a proposal [1]
to use the term SPI (Service Provider Interface) to help prevent the
confusion.

Please take a look and comment on whether you think this renaming helps
and is reasonable.

[1] open-telemetry#2911 (comment)
@tigrannajaryan tigrannajaryan force-pushed the feature/tigran/renamelogspi branch from 85b2689 to b349bba Compare February 8, 2023 17:07
@tigrannajaryan tigrannajaryan added the spec:logs Related to the specification/logs directory label Feb 8, 2023
@tigrannajaryan
Copy link
Member Author

This should be only merged if we see lots of approvals.

@@ -1,4 +1,4 @@
# Logs API Interface
# Logs SPI Interface
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
# Logs SPI Interface
# Logs SPI (Service Provider Interface)

Copy link
Member

@reyang reyang left a comment

Choose a reason for hiding this comment

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

LGTM.

@reyang reyang requested review from trask and jack-berg February 8, 2023 17:55
@MSNev
Copy link
Contributor

MSNev commented Feb 8, 2023

I don't think service provider interface (SPI) is the correct "name" for this rename... As this seems to be a Java centric term that is not generally used.

The thing that irks me in the "Service" portion of this name...

  • It could also be described as "API" -> Appender Provider Interface (along the lines of @trask 's 2nd suggestion)

Copy link
Member

@alanwest alanwest left a comment

Choose a reason for hiding this comment

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

This appears to mostly be a cosmetic change to help further draw people's attention to the fact that this is not an end-user facing API like the trace and metric API. In other words, it seems this new naming will have no affect on implementations.

I'm open to other names, but SPI seems ok.

"Log Appender API" seems too restrictive since the important aspect of this API is that it provides a shim between OpenTelemetry and some other software component - log appenders being perhaps only one type of component.

Log Shim API? ... SAPI 😆 kidding..

@reyang
Copy link
Member

reyang commented Feb 9, 2023

"Log Appender API" seems too restrictive since the important aspect of this API is that it provides a shim between OpenTelemetry and some other software component - log appenders being perhaps only one type of component.

Log Shim API? ... SAPI 😆 kidding..

adapter/appender/shim/bridge/interop 🤷‍♂️

@jack-berg
Copy link
Member

I'd prefer "Log Bridge API".

The goal of this PR to more clearly convey that this is not an API for end users. I don't think "SPI" accomplishes this. In fact, I'm not sure what I come away thinking when I read "Log SPI". From a java perspective, SPI is a sort of pluggable interface which can be provided by the app or third party to change the behavior of a library / framework. The appenders we've written sort of function like this, but don't actually use the Java SPI mechanism. If "SPI" is a java-centric term, but the java log appenders don't function as SPI implementations, then I'm not sure what we're conveying with this name.

Additionally, "API" is a well established term in OpenTelemetry. By introducing a new term like "SPI" we need to be able to define how SPIs are similar / different from an API. Do we expect additional SPIs in the future? Under what conditions do we call something an SPI?

In contrast, "Log Bridge API" keeps the existing "API" vocabulary, while clearly and succinctly conveying its purpose, as it's unlikely a user who comes across something called "bridge API" would think that they're supposed to use it.

I don't mind other terms like "adapter", "appender", "shim", but prefer "bridge" as its the most clear IMO and is quite succinct. Additionally, we use the term "bridge" similarly in other places in the specification.

tigrannajaryan added a commit to tigrannajaryan/opentelemetry-specification that referenced this pull request Feb 9, 2023
We keep seeing confusion about what Log API is. There was a proposal [1]
to use the term Bridge API to help prevent the confusion.

Please take a look and comment on whether you think this renaming helps
and is reasonable.

[1] open-telemetry#3187 (comment)
tigrannajaryan added a commit to tigrannajaryan/opentelemetry-specification that referenced this pull request Feb 9, 2023
We keep seeing confusion about what Log API is. There was a proposal [1]
to use the term Bridge API to help prevent the confusion.

Please take a look and comment on whether you think this renaming helps
and is reasonable.

[1] open-telemetry#3187 (comment)
@tigrannajaryan
Copy link
Member Author

I like "Bridge API" more than "SPI" too. It reflects the intent more directly. Here is a PR with that version: #3197

tigrannajaryan added a commit to tigrannajaryan/opentelemetry-specification that referenced this pull request Feb 9, 2023
We keep seeing confusion about what Log API is. There was a proposal [1]
to use the term Bridge API to help prevent the confusion.

Please take a look and comment on whether you think this renaming helps
and is reasonable.

[1] open-telemetry#3187 (comment)
@arminru arminru added the area:api Cross language API specification issue label Feb 14, 2023
tigrannajaryan added a commit to tigrannajaryan/opentelemetry-specification that referenced this pull request Feb 14, 2023
We keep seeing confusion about what Logs API is. There was a proposal [1]
to use the term Bridge API to help prevent the confusion.

Please take a look and comment on whether you think this renaming helps
and is reasonable.

[1] open-telemetry#3187 (comment)
tigrannajaryan added a commit to tigrannajaryan/opentelemetry-specification that referenced this pull request Feb 14, 2023
We keep seeing confusion about what Logs API is. There was a proposal [1]
to use the term Bridge API to help prevent the confusion.

Please take a look and comment on whether you think this renaming helps
and is reasonable.

[1] open-telemetry#3187 (comment)
@tigrannajaryan
Copy link
Member Author

Closing this in favour of #3197 which received much wider support.

tigrannajaryan added a commit that referenced this pull request Feb 16, 2023
We keep seeing confusion about what Logs API is. There was a proposal [1]
to use the term Bridge API to help prevent the confusion.

Please take a look and comment on whether you think this renaming helps
and is reasonable.

[1] #3187 (comment)
@tigrannajaryan tigrannajaryan deleted the feature/tigran/renamelogspi branch February 16, 2023 19:56
jsuereth pushed a commit to jsuereth/otel-semconv-test that referenced this pull request Apr 19, 2023
We keep seeing confusion about what Logs API is. There was a proposal [1]
to use the term Bridge API to help prevent the confusion.

Please take a look and comment on whether you think this renaming helps
and is reasonable.

[1] open-telemetry/opentelemetry-specification#3187 (comment)
jsuereth pushed a commit to open-telemetry/semantic-conventions that referenced this pull request May 11, 2023
We keep seeing confusion about what Logs API is. There was a proposal [1]
to use the term Bridge API to help prevent the confusion.

Please take a look and comment on whether you think this renaming helps
and is reasonable.

[1] open-telemetry/opentelemetry-specification#3187 (comment)
joaopgrassi pushed a commit to dynatrace-oss-contrib/semantic-conventions that referenced this pull request Mar 21, 2024
We keep seeing confusion about what Logs API is. There was a proposal [1]
to use the term Bridge API to help prevent the confusion.

Please take a look and comment on whether you think this renaming helps
and is reasonable.

[1] open-telemetry/opentelemetry-specification#3187 (comment)
Dmytrozaiets81 added a commit to Dmytrozaiets81/conventions-semantic that referenced this pull request Mar 1, 2025
We keep seeing confusion about what Logs API is. There was a proposal [1]
to use the term Bridge API to help prevent the confusion.

Please take a look and comment on whether you think this renaming helps
and is reasonable.

[1] open-telemetry/opentelemetry-specification#3187 (comment)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:api Cross language API specification issue spec:logs Related to the specification/logs directory
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants