Skip to content

Spring boot package [Dashboards for all data streams] - #2985

Merged
mtojek merged 8 commits into
elastic:mainfrom
sunny-elastic:package_spring_boot_dashboards
May 4, 2022
Merged

Spring boot package [Dashboards for all data streams]#2985
mtojek merged 8 commits into
elastic:mainfrom
sunny-elastic:package_spring_boot_dashboards

Conversation

@sunny-elastic

@sunny-elastic sunny-elastic commented Apr 3, 2022

Copy link
Copy Markdown
Contributor

What does this PR do?

  • Generated the skeleton of Spring Boot integration package.
  • Added dashboards for all data streams

Checklist

  • I have reviewed tips for building integrations and this pull request is aligned with them.
  • I have verified visualisations considering all data streams
  • I have added an entry to my package's changelog.yml file.
  • If I'm introducing a new feature, I have modified the Kibana version constraint in my package's manifest.yml file to point to the latest Elastic stack release (e.g. ^8.0.0).

How to test this PR locally

  • Clone integrations repo.
  • Install elastic-package locally.
  • Start elastic stack using elastic-package.
  • Move to integrations/packages/spring_boot directory.
  • Run the following command to run tests.

elastic-package test

Screenshots

Spring Boot Dashboard

Note: We have covered dashboards and the visualisations for all data streams in this PR. Also Kibana version is updated in manifest.yml and tested with 8.1.0

@sunny-elastic
sunny-elastic requested a review from a team as a code owner April 3, 2022 08:16
@elasticmachine

elasticmachine commented Apr 3, 2022

Copy link
Copy Markdown

💚 Build Succeeded

the below badges are clickable and redirect to their specific view in the CI or DOCS
Pipeline View Test View Changes Artifacts preview preview

Expand to view the summary

Build stats

  • Start Time: 2022-05-02T14:34:59.548+0000

  • Duration: 19 min 11 sec

Test stats 🧪

Test Results
Failed 0
Passed 36
Skipped 0
Total 36

🤖 GitHub comments

To re-run your PR in the CI, just comment with:

  • /test : Re-trigger the build.
@sunny-elastic
sunny-elastic requested a review from mtojek April 3, 2022 12:50
@sunny-elastic sunny-elastic self-assigned this Apr 3, 2022
@sunny-elastic sunny-elastic added enhancement New feature or request Team:Integrations Label for the Integrations team New Integration Issue or pull request for creating a new integration package. labels Apr 3, 2022
@elasticmachine

Copy link
Copy Markdown

Pinging @elastic/integrations (Team:Integrations)

@mtojek
mtojek requested a review from ruflin April 4, 2022 09:36

@mtojek mtojek left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I will take a look at dashboards once we agree on data streams and their fields.

@sunny-elastic
sunny-elastic requested a review from a team as a code owner April 28, 2022 12:56
@elasticmachine

elasticmachine commented Apr 28, 2022

Copy link
Copy Markdown

🌐 Coverage report

Name Metrics % (covered/total) Diff
Packages 100.0% (2/2) 💚
Files 100.0% (2/2) 💚 2.813
Classes 100.0% (2/2) 💚 2.813
Methods 100.0% (27/27) 💚 11.695
Lines 93.289% (139/149) 👍 4.362
Conditionals 100.0% (0/0) 💚
@yug-rajani

Copy link
Copy Markdown
Contributor

I would provide general feedback over the dashboard for the existing visualizations.

  • nit: It would be better to have the main titles (markdown ones) in a little bigger fonts
  • Please remove the labels Count from visualizations like Total successful requests
  • For the Average time taken to handle the HTTP request-response exchange & HTTP method of the request, I believe visualizing them over time (time series) would make more sense and it would provide useful insights.
  • Maximum memory for heap memory seems to represent a static value, I think we can drop this one.
  • Gauge does not seem to be the right type for Used memory for heap memory, it would be better to see it as a metric in my opinion.

That's all from my end I guess, let me know what you think of the changes. It would also be nice to have a review from someone who better understands the use cases for Spring Boot as an end-user.

@yug-rajani yug-rajani left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Requested some changes

@sunny-elastic

Copy link
Copy Markdown
Contributor Author

I would provide general feedback over the dashboard for the existing visualizations.

  • nit: It would be better to have the main titles (markdown ones) in a little bigger fonts
  • Please remove the labels Count from visualizations like Total successful requests
  • For the Average time taken to handle the HTTP request-response exchange & HTTP method of the request, I believe visualizing them over time (time series) would make more sense and it would provide useful insights.
  • Maximum memory for heap memory seems to represent a static value, I think we can drop this one.
  • Gauge does not seem to be the right type for Used memory for heap memory, it would be better to see it as a metric in my opinion.

That's all from my end I guess, let me know what you think of the changes. It would also be nice to have a review from someone who better understands the use cases for Spring Boot as an end-user.

@yug-elastic thanks for feedback, I think covered all aspects and updated the visualisations.

@yug-rajani yug-rajani left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM!
Let’s wait for other’s reviews over the dashboard.

@sunny-elastic
sunny-elastic requested a review from mtojek April 29, 2022 13:01

@mtojek mtojek left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

As there are few data streams I think that you can go with a few dashboards. It's hard to deduce from the overview what's going on in the system, except reading current values.

My recommendation:

  1. "Audit events" dashboard - show a table with latest events, IP address, session ID, principals, auth type. You can add 2 pie charts to show the percentage of failures (event type).
  2. Memory - include GC, heap, non-heap, manager. Please show using standard line-graphs that GC works as intended. It will be useful to look for memory leaks
  3. Threading - (maybe combine them together with Memory) - show thread statistics using line-graphs. You can add "big values" to show the current state.
  4. "Access logs" - that's the HTTP thread. Please take a look at Apache and model something

.. and finally the "Overview"
5. Again, please take a look at the Apache integration and check if you can provide a similar experience, combining Apache's logs and metrics dashboards.

@sunny-elastic

Copy link
Copy Markdown
Contributor Author

As there are few data streams I think that you can go with a few dashboards. It's hard to deduce from the overview what's going on in the system, except reading current values.

My recommendation:

  1. "Audit events" dashboard - show a table with latest events, IP address, session ID, principals, auth type. You can add 2 pie charts to show the percentage of failures (event type).
  2. Memory - include GC, heap, non-heap, manager. Please show using standard line-graphs that GC works as intended. It will be useful to look for memory leaks
  3. Threading - (maybe combine them together with Memory) - show thread statistics using line-graphs. You can add "big values" to show the current state.
  4. "Access logs" - that's the HTTP thread. Please take a look at Apache and model something

.. and finally the "Overview" 5. Again, please take a look at the Apache integration and check if you can provide a similar experience, combining Apache's logs and metrics dashboards.

Covered almost all points. Updated dashboards with respect to these changes

@sunny-elastic
sunny-elastic requested a review from mtojek May 2, 2022 14:38

@mtojek mtojek left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM!

@mtojek
mtojek merged commit 31e4ce3 into elastic:main May 4, 2022
orestisfl pushed a commit to orestisfl/integrations that referenced this pull request May 15, 2026
* Spring boot package [Dashboards for all data streams]

* update dashboards

* remove redundant visualisation

* update dashboard

* resize visualisation

* add overview, audit event, http trace, memory, gc and threading dashboards
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request New Integration Issue or pull request for creating a new integration package. Team:Integrations Label for the Integrations team

4 participants