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

Create semantic conventions for API Gateway #183

Open
SonjaChevre opened this issue Jul 10, 2023 · 2 comments
Open

Create semantic conventions for API Gateway #183

SonjaChevre opened this issue Jul 10, 2023 · 2 comments
Assignees

Comments

@SonjaChevre
Copy link

We (Tyk Technologies, maintainer of the Tyk open source API Gateway) would like to work on adding a semantic conventions for API Gateways.

What is an API Gateway?

An API gateway is a tool that aggregates unique application APIs, making them all available in one place. It allows organizations to move key functions, such as authentication and authorization or limiting the number of requests between applications, to a centrally managed location. An API gateway functions as a common interface to (often external) API consumers. From: API Gateway

What are specific observability needs with APIs and API Gateways?

1. Need to generate RED metrics per API name and API version

API teams need to be able to track request rates, error rates and duration per API and per API version.

2. Need to configure different observability pipeline depending on the API name or API tag

Because an API Gateway is a central component that processes traffic for many teams, it is often the case that it captures data that are relevant to different teams, each having their own observability need (different observability back-end, different need for sampling, different need to remove information, …).

What is the current support of API Gateways in OTel?

There are to our knowledge no semantic conventions specific to APIs or API Gateways at the moment.

What are we missing in the semantic conventions?

Non exhaustive list:

  • API name
  • API version

What is the suggested approach?

We are actively working on adding this information in our Tyk API Gateway (GitHub - TykTechnologies/tyk: Tyk Open Source API Gateway written in Go, supporting REST, GraphQL, TCP and gRPC protocols ) and would welcome other members of the observability and API communities to join us on improving the semantic conventions.

Looking forward to see if this proposal gets any interest!

Sonja

Note: we are also working on another proposal to introduce semantic conventions for GraphQL: #182

@Oberon00
Copy link
Member

I wonder if this use case should be integrated in the rpc semantic conventions. For example, the AWS conventions use rpc.method + rpc.service to describe the logical service, even though it's an HTTP-based API. (A field like rpc.service_version would still be needed)

@github-actions github-actions bot added the Stale label Feb 16, 2024
@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Feb 26, 2024
@joaopgrassi joaopgrassi removed the Stale label Feb 26, 2024
@joaopgrassi joaopgrassi reopened this Feb 26, 2024
@joaopgrassi
Copy link
Member

joaopgrassi commented Feb 26, 2024

This was closed by mistake by the stale bot. Re-opening

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

No branches or pull requests

4 participants