keith-turner commented on issue #4511:
URL: https://github.com/apache/accumulo/issues/4511#issuecomment-2147950878

   Looking at #3608 prompted me to revisit this.  Being able to drop the custom 
thrift stuff in the accumulo code that is only used by the monitor would 
improve the maintainability of the Accumulo code base IMO.  Add table tags does 
increase cardinality and that is a valid concern.  Looking around there are 
multiple ways to deal w/ cardinality.    
   
   Micrometer supports 
[filters](https://docs.micrometer.io/micrometer/reference/concepts/meter-filters.html)
 that can be set on a registry.  The filter name is bit misleading because they 
also support transformation. Setting filters  in a 
[MeterRegistryFactory](https://github.com/apache/accumulo/blob/7e9bb4d603706b54452669bdde32f9c00d86fa61/core/src/main/java/org/apache/accumulo/core/spi/metrics/MeterRegistryFactory.java#L39)
  implementation it would be possible to drop tableId tags or reduce their 
cardinality (like reduce them to two values "system" or "user").  The 
LoggingMeterRegistryFactory  could have an option for dropping table id tags as 
a form of documentation.
   
   Another way too many table ids could be handled is on ingest into the 
metrics system.  Prometheus has relabeling as described 
[here](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config)
 and 
[here](https://grafana.com/blog/2022/03/21/how-relabeling-in-prometheus-works/) 
that can reduce tag cardinality on ingest.  Thought influxdb had a similar 
capability, but could not find it.
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscr...@accumulo.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to