[ 
https://issues.apache.org/jira/browse/CASSANDRA-21556?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ling Mao updated CASSANDRA-21556:
---------------------------------
    Description: 
When Netty Direct Memory leaks occur, they can be extremely difficult to 
diagnose and may cause serious production issues. Add metrics to monitor Netty 
memory usage for observability, debugging, and alerting.

The comments in `NettyMemoryMetrics` provide a summary of what contributes to 
Netty Direct Memory and Java Direct Memory usage.

Do not use  Netty`allocator.metric()` apis for these metrics. The memory usage 
from individual allocators is relatively small and distributed across different 
components. Additionally, querying allocator metrics is not as lightweight as 
using `PlatformDependent::usedDirectMemory`.

The metrics location:
{code:java}
org.apache.cassandra.metrics:type=NettyMemory,name=UsedDirectMemory
org.apache.cassandra.metrics:type=NettyMemory,name=DirectMemoryLimit


# promethus metrics
# HELP cassandra_nettymemory_directmemorylimit Attribute exposed for management 
org.apache.cassandra.metrics:name=DirectMemoryLimit,type=NettyMemory,attribute=Value
# TYPE cassandra_nettymemory_directmemorylimit gauge
cassandra_nettymemory_directmemorylimit 4.294967296E9
# HELP cassandra_nettymemory_useddirectmemory Attribute exposed for management 
org.apache.cassandra.metrics:name=UsedDirectMemory,type=NettyMemory,attribute=Value
# TYPE cassandra_nettymemory_useddirectmemory gauge
cassandra_nettymemory_useddirectmemory 1.6777216E7
{code}
 

  was:
When Netty Direct Memory leaks occur, they can be extremely difficult to 
diagnose and may cause serious production issues. Add metrics to monitor Netty 
memory usage for observability, debugging, and alerting.

The comments in `NettyMemoryMetrics` provide a summary of what contributes to 
Netty Direct Memory and Java Direct Memory usage.

Do not use `Netty allocator.metric()` for these metrics. The memory usage from 
individual allocators is relatively small and distributed across different 
components. Additionally, querying allocator metrics is not as lightweight as 
using `PlatformDependent::usedDirectMemory`.

The metrics location:

 
{code:java}
org.apache.cassandra.metrics:type=NettyMemory,name=UsedDirectMemory
org.apache.cassandra.metrics:type=NettyMemory,name=DirectMemoryLimit
# promethus metrics
# HELP cassandra_nettymemory_directmemorylimit Attribute exposed for management 
org.apache.cassandra.metrics:name=DirectMemoryLimit,type=NettyMemory,attribute=Value
# TYPE cassandra_nettymemory_directmemorylimit gauge
cassandra_nettymemory_directmemorylimit 4.294967296E9
# HELP cassandra_nettymemory_useddirectmemory Attribute exposed for management 
org.apache.cassandra.metrics:name=UsedDirectMemory,type=NettyMemory,attribute=Value
# TYPE cassandra_nettymemory_useddirectmemory gauge
cassandra_nettymemory_useddirectmemory 1.6777216E7
{code}
 


> Add metrics about Netty memory usage
> ------------------------------------
>
>                 Key: CASSANDRA-21556
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-21556
>             Project: Apache Cassandra
>          Issue Type: Improvement
>          Components: Observability/Metrics
>            Reporter: Ling Mao
>            Assignee: Ling Mao
>            Priority: Normal
>             Fix For: 7.x
>
>
> When Netty Direct Memory leaks occur, they can be extremely difficult to 
> diagnose and may cause serious production issues. Add metrics to monitor 
> Netty memory usage for observability, debugging, and alerting.
> The comments in `NettyMemoryMetrics` provide a summary of what contributes to 
> Netty Direct Memory and Java Direct Memory usage.
> Do not use  Netty`allocator.metric()` apis for these metrics. The memory 
> usage from individual allocators is relatively small and distributed across 
> different components. Additionally, querying allocator metrics is not as 
> lightweight as using `PlatformDependent::usedDirectMemory`.
> The metrics location:
> {code:java}
> org.apache.cassandra.metrics:type=NettyMemory,name=UsedDirectMemory
> org.apache.cassandra.metrics:type=NettyMemory,name=DirectMemoryLimit
> # promethus metrics
> # HELP cassandra_nettymemory_directmemorylimit Attribute exposed for 
> management 
> org.apache.cassandra.metrics:name=DirectMemoryLimit,type=NettyMemory,attribute=Value
> # TYPE cassandra_nettymemory_directmemorylimit gauge
> cassandra_nettymemory_directmemorylimit 4.294967296E9
> # HELP cassandra_nettymemory_useddirectmemory Attribute exposed for 
> management 
> org.apache.cassandra.metrics:name=UsedDirectMemory,type=NettyMemory,attribute=Value
> # TYPE cassandra_nettymemory_useddirectmemory gauge
> cassandra_nettymemory_useddirectmemory 1.6777216E7
> {code}
>  



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to