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

[APM] Version public APIs #158233

Merged
merged 7 commits into from
May 23, 2023
Merged

[APM] Version public APIs #158233

merged 7 commits into from
May 23, 2023

Conversation

dgieselaar
Copy link
Member

Closes #155245

Adds a version to the endpoint name for public APIs. It's required for public APIs and enforced via type checks. Example:
GET /api/apm/settings/agent-configuration/environments 2023-05-22. The reason why it's part of the endpoint is because it's the simplest change to make, requires very little runtime changes and doesn't dramatically change the way we handle type-safety for our server routes.

@dgieselaar dgieselaar added release_note:skip Skip the PR/issue when compiling release notes v8.9.0 labels May 23, 2023
@apmmachine
Copy link
Contributor

🤖 GitHub comments

Expand to view the GitHub comments

Just comment with:

  • /oblt-deploy : Deploy a Kibana instance using the Observability test environments.
  • run elasticsearch-ci/docs : Re-trigger the docs validation. (use unformatted text in the comment!)

@dgieselaar dgieselaar marked this pull request as ready for review May 23, 2023 09:22
@dgieselaar dgieselaar requested review from a team as code owners May 23, 2023 09:22
@botelastic botelastic bot added the Team:APM All issues that need APM UI Team support label May 23, 2023
@elasticmachine
Copy link
Contributor

Pinging @elastic/apm-ui (Team:APM)

Copy link
Contributor

@yngrdyn yngrdyn left a comment

Choose a reason for hiding this comment

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

LGTM

@dgieselaar
Copy link
Member Author

@elasticmachine merge upstream

Copy link
Contributor

@kdelemme kdelemme left a comment

Choose a reason for hiding this comment

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

LGTM!

@kibana-ci
Copy link
Collaborator

💛 Build succeeded, but was flaky

Failed CI Steps

Metrics [docs]

Async chunks

Total size of all lazy-loaded chunks that will be downloaded as the user navigates the app

id before after diff
apm 3.5MB 3.5MB +283.0B
observabilityOnboarding 35.4KB 35.8KB +350.0B
ux 164.9KB 165.0KB +175.0B
total +808.0B
Unknown metric groups

ESLint disabled line counts

id before after diff
enterpriseSearch 19 21 +2
securitySolution 399 403 +4
total +6

Total ESLint disabled count

id before after diff
enterpriseSearch 20 22 +2
securitySolution 479 483 +4
total +6

History

To update your PR or re-run it, just comment with:
@elasticmachine merge upstream

@dgieselaar dgieselaar merged commit 1908568 into elastic:main May 23, 2023
@kibanamachine kibanamachine added the backport:skip This commit does not require backporting label May 23, 2023
@dgieselaar dgieselaar deleted the version-apm-apis branch May 23, 2023 14:50
>
)({
path: pathname,
access: pathname.includes('/internal/apm') ? 'internal' : 'public',
Copy link
Contributor

Choose a reason for hiding this comment

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

Is seems that we rely more and more to the naming scheme to distinguish internal / public APIs, wondering if we can improve this. It's also mentioned here #151940

Copy link
Member Author

Choose a reason for hiding this comment

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

What do you think needs improvement? You'd rather have an explicit access prop on all routes?

Copy link
Contributor

Choose a reason for hiding this comment

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

This might be an idea but not too precious about it

delanni pushed a commit to delanni/kibana that referenced this pull request May 25, 2023
Closes elastic#155245

Adds a version to the `endpoint` name for public APIs. It's required for
public APIs and enforced via type checks. Example:
`GET /api/apm/settings/agent-configuration/environments 2023-05-22`. The
reason why it's part of the endpoint is because it's the simplest change
to make, requires very little runtime changes and doesn't dramatically
change the way we handle type-safety for our server routes.

---------

Co-authored-by: kibanamachine <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport:skip This commit does not require backporting release_note:skip Skip the PR/issue when compiling release notes Team:APM All issues that need APM UI Team support v8.9.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[APM] Make public APIs versioned
8 participants