Skip to content

Enhanced Observability #25476

New issue

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

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

Already on GitHub? # to your account

Open
8 of 15 tasks
Tracked by #35776
jonatan-ivanov opened this issue Mar 2, 2021 · 4 comments
Open
8 of 15 tasks
Tracked by #35776

Enhanced Observability #25476

jonatan-ivanov opened this issue Mar 2, 2021 · 4 comments
Assignees
Labels
theme: observability Issues related to observability type: epic An issue tracking a large piece of work that will be split into smaller issues
Milestone

Comments

@jonatan-ivanov
Copy link
Member

jonatan-ivanov commented Mar 2, 2021

This is a placeholder issue to group smaller tasks together to provide better Observability support for Spring Boot users.

Info enhancements

See:

Health enhancements

Spring Security enhancements

  • /whoami endpoint: show principal and granted authorities

The list is still in progress and very likely to evolve in the near future.

@spring-projects-issues spring-projects-issues added the status: waiting-for-triage An issue we've not yet triaged label Mar 2, 2021
@scottfrederick scottfrederick added theme: observability Issues related to observability type: enhancement A general enhancement type: epic An issue tracking a large piece of work that will be split into smaller issues and removed status: waiting-for-triage An issue we've not yet triaged type: enhancement A general enhancement labels Mar 2, 2021
@scottfrederick scottfrederick added this to the 2.x milestone Mar 2, 2021
@philwebb philwebb modified the milestones: 2.x, 3.x Aug 19, 2022
@philwebb philwebb mentioned this issue Jun 7, 2023
31 tasks
@dsyer
Copy link
Member

dsyer commented Nov 13, 2023

The activeProfiles is already exposed in the /env endpoint.

@jonatan-ivanov
Copy link
Member Author

Good point, today I was implementing it and I realized that if I don't set the active profiles property but set spring.profiles.default, then environment.getActiveProfiles() will be empty and the profle I set for default will be used. I think on the info endpoint it would be more useful to return the "effectively used profiles" instead of the value of environment.getActiveProfiles(). Something like this I guess:

String[] getEffectiveProfiles() {
    return ObjectUtils.isEmpty(environment.getActiveProfiles()) ? environment.getDefaultProfiles() : environment.getActiveProfiles();
}

@dsyer
Copy link
Member

dsyer commented Nov 14, 2023

Uptime is already a metric as well - I guess it really belongs there because you don't expect info to change over time.

@jonatan-ivanov
Copy link
Member Author

I think using data that can change over time should be ok on the info endpoint, e.g.: current time (to detect clock skew issues), uptime (to see if the app was restarted or not), even the cpu count can change over time (because of cgroups).

I think the same about data that we have metrics for, e.g.: jvm version info. I think they can be used in different use-cases and the user should decide if they want one or the other or both.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
theme: observability Issues related to observability type: epic An issue tracking a large piece of work that will be split into smaller issues
Projects
None yet
Development

No branches or pull requests

5 participants