Skip to content

Any way to reduce performance overhead in DefaultSynchronousMetricStorage? #6601

@wgy035

Description

@wgy035

Is your feature request related to a problem? Please describe.
While conducting a performance test, I discovered through flame graph analysis that DefaultSynchronousMetricStorage.record() causes extra performance overhead.
image

Is there any way to reduce performance overhead in DefaultSynchronousMetricStorage?
Describe the solution you'd like
1.The process of AdviceAttributesProcessor seems only remove some attributes from input and it cost a lot, could we skip the remove process?
2.CollectionAggregatorHandles used ConcurrentHashMap, the performance is suboptimal in high concurrency scenarios, consider using a Lock-Free Queue instead, such as Disruptor or RingBuffer.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Feature RequestSuggest an idea for this project

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions