[ 
https://issues.apache.org/jira/browse/IGNITE-29147?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18127248#comment-18127248
 ] 

Ignite TC Bot commented on IGNITE-29147:
----------------------------------------

{panel:title=Branch: [pull/13691/head] Base: [master] : No blockers 
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel}
{panel:title=Branch: [pull/13691/head] Base: [master] : No new tests 
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1}{panel}
[TeamCity *--> Run :: All* 
Results|https://ci2.ignite.apache.org/viewLog.html?buildId=9412056&buildTypeId=IgniteTests24Java8_RunAll]
{color:#ffffff}tcbot-analysis-comment chainBuildId=9412056 
rerunBuildIds=none{color}

> Add allocation profiler to JMH benchmarks
> -----------------------------------------
>
>                 Key: IGNITE-29147
>                 URL: https://issues.apache.org/jira/browse/IGNITE-29147
>             Project: Ignite
>          Issue Type: Test
>            Reporter: Maksim Davydov
>            Assignee: Maksim Davydov
>            Priority: Minor
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> The JMH benchmarks in {{modules/benchmarks}} start the client and server 
> nodes in the benchmark JVM. JMH's {{-prof gc}} reports one 
> bytes-per-operation number for that whole JVM, so it can't show on which node 
> or in which thread pool a change adds allocation. It also undercounts the 
> last iteration: the benchmarks stop their nodes in the trial teardown, which 
> JMH runs before profilers read the last iteration, so the bytes of the 
> stopped nodes are lost.
> This adds:
> * {{JmhAllocationProfiler}}, a JMH profiler ({{-prof}}) that reports bytes 
> allocated per operation by the benchmark threads and by each thread pool of 
> each node, client or server. It also reports communication messages and bytes 
> sent, and discovery messages processed, per operation and node. Threads are 
> grouped by the node and pool in their names.
> * {{JmhNodeStopHook}}. {{JmhCacheAbstractBenchmark}} calls it before stopping 
> its nodes, so profilers see the last iteration.
> * {{JmhCacheAllocationBenchmark}}: cache put and get on atomic and 
> transactional caches, through a client node with two server nodes, run with 
> the profiler from its {{main()}}.
> * A README for the module: what the benchmarks measure, how to build and run 
> them, how to measure allocation and how to write a benchmark.
> All changes are in {{modules/benchmarks}}.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to