Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Comments

Spring boot package [Memory - data stream]#2979

Merged
mtojek merged 18 commits intoelastic:mainfrom
sunny-elastic:package_spring_boot_memory
Apr 25, 2022
Merged

Spring boot package [Memory - data stream]#2979
mtojek merged 18 commits intoelastic:mainfrom
sunny-elastic:package_spring_boot_memory

Conversation

@sunny-elastic
Copy link
Contributor

@sunny-elasticsunny-elastic commentedApr 3, 2022
edited
Loading

What does this PR do?

  • Generated the skeleton of Spring Boot integration package.
  • AddedMemory data stream
  • Added data collection logic.
  • Added the ingest pipelines.
  • Mapped fields according to the ECS schema and added Fields metadata in the appropriate yml files.
  • Added system test cases.

Checklist

  • I have reviewedtips for building integrations and this pull request is aligned with them.
  • I have verified that Memory data stream collect metrics.
  • I have added an entry to my package'schangelog.yml file.
  • If I'm introducing a new feature, I have modified the Kibana version constraint in my package'smanifest.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

Note: We have covered dashboards and the visualisations for all data streams of spring boot into separate PR. Also Kibana version will be updated to 8.1.0 in manifest.yml after testing this integration on 8.1.0.

@sunny-elasticsunny-elastic requested a review froma team as acode ownerApril 3, 2022 07:53
@elasticmachine
Copy link

elasticmachine commentedApr 3, 2022
edited
Loading

💚 Build Succeeded

the below badges are clickable and redirect to their specific view in the CI or DOCS
Pipeline ViewTest ViewChangesArtifactspreviewpreview

Expand to view the summary

Build stats

  • Start Time: 2022-04-21T13:10:42.140+0000

  • Duration: 14 min 26 sec

Test stats 🧪

TestResults
Failed0
Passed13
Skipped0
Total13

🤖 GitHub comments

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

  • /test : Re-trigger the build.

@sunny-elasticsunny-elastic self-assigned thisApr 3, 2022
@sunny-elasticsunny-elastic added enhancementNew feature or request Team:IntegrationsLabel for the Integrations team New IntegrationIssue or pull request for creating a new integration package. labelsApr 3, 2022
@elasticmachine
Copy link

Pinging @elastic/integrations (Team:Integrations)

@mtojekmtojek requested a review fromruflinApril 4, 2022 09:35
Comment on lines 68 to 69
"memory_used": 81920,
"total_capacity": 81920
Copy link
Contributor

Choose a reason for hiding this comment

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

Used and total are the same? Does it mean that you have 100% consumed the memory?

Copy link
ContributorAuthor

Choose a reason for hiding this comment

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

Yes.

@@ -0,0 +1,74 @@
{
Copy link
Contributor

Choose a reason for hiding this comment

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

Could you dump an event that collects most of defined metrics?

Copy link
ContributorAuthor

Choose a reason for hiding this comment

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

updated.

type: long
- name: object_pending_finalization_count
type: long
- name: verbose
Copy link
Contributor

Choose a reason for hiding this comment

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

What does the verbose mean here?

Copy link
ContributorAuthor

Choose a reason for hiding this comment

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

Verbose: Tests if verbose output for the memory system is enabled. But I think its a boolean value and does not make any sense to collect that so we removed it.

fields:
- name: count
type: long
description: Returns count of direct buffer pool memory
Copy link
Contributor

Choose a reason for hiding this comment

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

Could you please make all descriptions consistent? Why is there everywhere a verb "Returns"? Let's make it consistent with other data streams.

Copy link
ContributorAuthor

Choose a reason for hiding this comment

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

Yes its updated

fields:
- name: count
type: long
description: Returns count of mapped buffer pool memory
Copy link
Contributor

Choose a reason for hiding this comment

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

What is this metric about?

Copy link
ContributorAuthor

Choose a reason for hiding this comment

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

Count of buffer pool memory

Copy link
Contributor

Choose a reason for hiding this comment

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

Still, what does it mean :) Is it the number of buffer pools, number of memory units, etc.?

Copy link
ContributorAuthor

Choose a reason for hiding this comment

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

yes it is number of buffer pools

Comment on lines 167 to 181
| spring_boot.memory.buffer_pool.mapped.total_capacity | Returns total capacity of mapped buffer pool memory | long |
| spring_boot.memory.memory.heap_memory_usage.committed | Returns committed heap memory usage of JVM | long |
| spring_boot.memory.memory.heap_memory_usage.init | Returns init heap memory usage of JVM | long |
| spring_boot.memory.memory.heap_memory_usage.max | Returns max heap memory usage of JVM | long |
| spring_boot.memory.memory.heap_memory_usage.used | Returns used heap memory usage of JVM | long |
| spring_boot.memory.memory.non_heap_memory_usage.committed | Returns committed non-heap memory usage of JVM | long |
| spring_boot.memory.memory.non_heap_memory_usage.init | Returns init non-heap memory usage of JVM | long |
| spring_boot.memory.memory.non_heap_memory_usage.max | Returns max non-heap memory usage of JVM | long |
| spring_boot.memory.memory.non_heap_memory_usage.used | Returns used non-heap memory usage of JVM | long |
| spring_boot.memory.memory.object_pending_finalization_count | Returns the approximate number of objects for which finalization is pending | long |
| spring_boot.memory.memory.verbose | Tests if verbose output for the memory system is enabled | boolean |
| spring_boot.memory.memory_manager.code_cache_manager.name | Name of the cacheManager to qualify the cache | keyword |
| spring_boot.memory.memory_manager.code_cache_manager.valid | Return the validation | boolean |
| spring_boot.memory.memory_manager.metaspace_manager.name | Name of the Metaspace Manager to qualify the cache | keyword |
| spring_boot.memory.memory_manager.metaspace_manager.valid | Return the validation | boolean |
Copy link
Contributor

Choose a reason for hiding this comment

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

Please work together with@yug-elastic to refactor those metrics.memory is repeated a few times per metric.

yug-rajani reacted with eyes emoji
Copy link
Contributor

Choose a reason for hiding this comment

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

Sure, putting the link to the similar discussion for Apache Spark here for ready reference
#2811 (comment)

mtojek reacted with thumbs up emoji
Copy link
ContributorAuthor

Choose a reason for hiding this comment

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

Its updated

@sunny-elasticsunny-elastic requested a review froma team as acode ownerApril 19, 2022 04:06

This is the `memory` data stream.

- This data stream gives Memory information.
Copy link
Contributor

Choose a reason for hiding this comment

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

nit: memory

Copy link
ContributorAuthor

Choose a reason for hiding this comment

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

Done

Comment on lines 67 to 75
name: source.geo.location
type: geo_point
- external: ecs
name: source.geo.region_iso_code
- external: ecs
name: source.geo.region_name
- external: ecs
name: source.ip
- external: ecs
Copy link
Contributor

Choose a reason for hiding this comment

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

This data stream is about memory, so why do we need all these field definitions? Process, source, tls, HTTP. Did you add them on purpose?

Copy link
ContributorAuthor

Choose a reason for hiding this comment

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

yeah removed those extra ecs fields

Comment on lines 55 to 57
This is the `memory` data stream.

- This data stream gives memory information.
Copy link
Contributor

Choose a reason for hiding this comment

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

I don't think that this description explains what kind of data the data stream is handling. Please rephrase it to something meaningful (what kind of metrics, from where).

Copy link
ContributorAuthor

Choose a reason for hiding this comment

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

Ok updated

Comment on lines 337 to 339
| os.name | Operating system name, without the version. | keyword |
| os.name.text | Multi-field of `os.name`. | match_only_text |
| os.version | Operating system version as a raw string. | keyword |
Copy link
Contributor

Choose a reason for hiding this comment

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

Sample event doesn't contain metrics for these entries. Does the integration collect these values?

Copy link
ContributorAuthor

Choose a reason for hiding this comment

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

missed it from Readme, but its updated now

| event.dataset | Name of the dataset. If an event source publishes more than one type of log or events (e.g. access log, error log), the dataset is used to specify which one the event comes from. It's recommended but not required to start the dataset name with the module name, followed by a dot, then the dataset name. | keyword |
| event.kind | This is one of four ECS Categorization Fields, and indicates the highest level in the ECS category hierarchy. `event.kind` gives high-level information about what type of information the event contains, without being specific to the contents of the event. For example, values of this field distinguish alert events from metric events. The value of this field can be used to inform how these kinds of events should be handled. They may warrant different retention, different access control, it may also help understand whether the data coming in at a regular interval or not. | keyword |
| event.module | Name of the module this data is coming from. If your monitoring agent supports the concept of modules or plugins to process events of a given source (e.g. Apache logs), `event.module` should contain the name of this module. | keyword |
| event.outcome | This is one of four ECS Categorization Fields, and indicates the lowest level in the ECS category hierarchy. `event.outcome` simply denotes whether the event represents a success or a failure from the perspective of the entity that produced the event. Note that when a single transaction is described in multiple events, each event may populate different values of `event.outcome`, according to their perspective. Also note that in the case of a compound event (a single event that contains multiple logical events), this field should be populated with the value that best captures the overall success or failure from the perspective of the event producer. Further note that not all events will have an associated outcome. For example, this field is generally not populated for metric events, events with `event.type:info`, or any events for which an outcome does not make logical sense. | keyword |
Copy link
Contributor

Choose a reason for hiding this comment

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

Same

Copy link
ContributorAuthor

Choose a reason for hiding this comment

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

yes updated

Copy link
Contributor

Choose a reason for hiding this comment

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

What did you update here? I can still seeevent.outcome and I can't see in the sample event. Could you please explain why is this field here?

| event.kind | This is one of four ECS Categorization Fields, and indicates the highest level in the ECS category hierarchy. `event.kind` gives high-level information about what type of information the event contains, without being specific to the contents of the event. For example, values of this field distinguish alert events from metric events. The value of this field can be used to inform how these kinds of events should be handled. They may warrant different retention, different access control, it may also help understand whether the data coming in at a regular interval or not. | keyword |
| event.module | Name of the module this data is coming from. If your monitoring agent supports the concept of modules or plugins to process events of a given source (e.g. Apache logs), `event.module` should contain the name of this module. | keyword |
| event.outcome | This is one of four ECS Categorization Fields, and indicates the lowest level in the ECS category hierarchy. `event.outcome` simply denotes whether the event represents a success or a failure from the perspective of the entity that produced the event. Note that when a single transaction is described in multiple events, each event may populate different values of `event.outcome`, according to their perspective. Also note that in the case of a compound event (a single event that contains multiple logical events), this field should be populated with the value that best captures the overall success or failure from the perspective of the event producer. Further note that not all events will have an associated outcome. For example, this field is generally not populated for metric events, events with `event.type:info`, or any events for which an outcome does not make logical sense. | keyword |
| message | For log events the message field contains the log message, optimized for viewing in a log viewer. For structured logs without an original message field, other fields can be concatenated to form a human-readable summary of the event. If multiple messages exist, they can be combined into one message. | match_only_text |
Copy link
Contributor

Choose a reason for hiding this comment

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

Same question. It's a metric based data stream. Why is there a message?

Copy link
ContributorAuthor

Choose a reason for hiding this comment

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

yeah its cleared

Copy link
Contributor

@kush-elastickush-elastic left a comment
edited
Loading

Choose a reason for hiding this comment

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

LGTM! But let's wait for others approval.

Copy link
Contributor

@mtojekmtojek left a comment

Choose a reason for hiding this comment

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

Just a formality on my side. Thanks,@kush-elastic, for reviewing.

@mtojekmtojek merged commitdf17ee1 intoelastic:mainApr 25, 2022
v1v added a commit to v1v/integrations that referenced this pull requestApr 25, 2022
…ations into feature/labels-cloud-ephemeral-components* 'feature/labels-cloud-ephemeral-components' of github.com:v1v/integrations: (23 commits)  use branch  standardise labels/tags  Update .ci/Jenkinsfile  [ci][terraform][aws] tags with metadata  Bump github.com/elastic/elastic-package from 0.46.0 to 0.47.0 (elastic#3182)  Spring boot package [Memory - data stream] (elastic#2979)  [cisco_ise] Add Cisco ISE package (elastic#2855)  [apache_spark][executor] Add Apache Spark package with Executor data stream (elastic#2943)  [apache_spark][driver] Add Apache Spark package with Driver data stream (elastic#2945)  cisco_duo: simplify grok expression for handling ports (elastic#3170)  cisco_duo: fix handling of IP addresses with port numbers (elastic#3117)  [sophos] Various improvements and log samples from 18.5 (elastic#3127)  [cisco_asa] fix visualizations (elastic#3146)  [apache_spark][application] Add Apache Spark package with Application data stream (elastic#2941)  Fix pagination bug that skipped events when more than one page is present. (elastic#3140)  Cis k8s name migration (elastic#3113)  remove exported fields; these will be added to Kibana docs instead (elastic#3093)  Exclude ecosystem as owner of subdirectories of packages (elastic#3132)  [awsfargate] bump package version (elastic#3130)  add first csp rule template (elastic#3081)  ...
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment

Reviewers

@ruflinruflinAwaiting requested review from ruflin

3 more reviewers

@yug-rajaniyug-rajaniyug-rajani left review comments

@mtojekmtojekmtojek approved these changes

@kush-elastickush-elastickush-elastic approved these changes

Reviewers whose approvals may not affect merge requirements

Assignees

@sunny-elasticsunny-elastic

Labels

enhancementNew feature or requestNew IntegrationIssue or pull request for creating a new integration package.Team:IntegrationsLabel for the Integrations team

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

5 participants

@sunny-elastic@elasticmachine@mtojek@kush-elastic@yug-rajani

[8]ページ先頭

©2009-2026 Movatter.jp