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

[Golang] Add Integration Package with heap Data Stream #4908

Merged
merged 8 commits into from
Feb 8, 2023

Conversation

niraj-crest
Copy link
Contributor

@niraj-crest niraj-crest commented Dec 29, 2022

  • Enhancement

What does this PR do?

  • Added 1 data stream (Heap metrics).
  • Added data collection logic for the data streams.
  • Added the ingest pipeline for the data streams.
  • Mapped fields according to the ECS schema and added Fields metadata in the appropriate yaml files.
  • Added dashboards and visualizations.
  • Added system test cases for the data stream.

Checklist

  • I have reviewed tips for building integrations and this pull request is aligned with them.
  • I have verified that all data streams collect metrics or logs.
  • I have added an entry to my package's changelog.yml file.
  • I have verified that Kibana version constraints are current according to guidelines.

How to test this PR locally

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

Related issues

Screenshots

golang-heap-dashboard

@elasticmachine
Copy link

elasticmachine commented Dec 29, 2022

💚 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: 2023-02-08T06:02:11.451+0000

  • Duration: 15 min 18 sec

Test stats 🧪

Test Results
Failed 0
Passed 12
Skipped 0
Total 12

🤖 GitHub comments

Expand to view the GitHub comments

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

  • /test : Re-trigger the build.

@kush-elastic kush-elastic added enhancement New feature or request Integration:golang Golang Team:Service-Integrations Label for the Service Integrations team labels Jan 2, 2023
@kush-elastic
Copy link
Collaborator

/test

@elasticmachine
Copy link

elasticmachine commented Jan 2, 2023

🌐 Coverage report

Name Metrics % (covered/total) Diff
Packages 100.0% (2/2) 💚
Files 100.0% (2/2) 💚 2.427
Classes 100.0% (2/2) 💚 2.427
Methods 100.0% (16/16) 💚 8.624
Lines 95.833% (184/192) 👍 4.282
Conditionals 100.0% (0/0) 💚

@kush-elastic
Copy link
Collaborator

/test

Copy link
Collaborator

@kush-elastic kush-elastic left a comment

Choose a reason for hiding this comment

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

LGTM!

@ishleenk17 ishleenk17 requested a review from a team January 19, 2023 06:43
@SubhrataK
Copy link

  1. The line graphs and the summary for GC Count Overtime and heap Summary, are overlapping. Please move the summary outside the graph panel, as in the case of System Memory and Heap Memory Graphs.
  2. Please break the GC duration over time panel into two different charts, as there is too much information displayed in just one graph

{{#if ssl}}
request.ssl: {{ssl}}
{{/if}}
request.method: GET
Copy link
Contributor

Choose a reason for hiding this comment

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

Are both the GET and POST methods available for getting metrics?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes, Both are available and provide the same result.

Copy link
Contributor

Choose a reason for hiding this comment

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

Any performance difference between using the 2 ?

Copy link
Contributor Author

@niraj-crest niraj-crest Feb 2, 2023

Choose a reason for hiding this comment

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

Nope. we get the same response from both methods.

@niraj-crest
Copy link
Contributor Author

niraj-crest commented Feb 2, 2023

Due to the limitation of integration package, following fields were dropped:

  1. golang.heap.gc.pause.count
  2. golang.heap.gc.pause.avg.ns
  3. golang.heap.gc.pause.sum.ns
  4. golang.heap.gc.pause.max.ns

We have raised a github issue related to this limitation here.

Copy link
Contributor

@ishleenk17 ishleenk17 left a comment

Choose a reason for hiding this comment

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

Looks good!

@kush-elastic kush-elastic merged commit 8120f3b into elastic:main Feb 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request Integration:golang Golang Team:Service-Integrations Label for the Service Integrations team
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants