This message was deleted.
# general
s
This message was deleted.
b
The metrics monitors configured determine the extent of output metrics being emitted I believe you read the docs on druid.emitter.prometheus.dimensionMapPath
Copy code
JSON file defining the Prometheus metric type, desired dimensions, help text, and conversionFactor for every Druid metric.
s
https://druid.apache.org/docs/latest/operations/metrics.html#ingestion-metrics
ingest/count
- ingest metrics i am not able to get in code i can see this class
org.apache.druid.indexing.common.statsTaskRealtimeMetricsMonitor
when i add it to
druid.monitoring.monitors=["org.apache.druid.indexing.common.stats.TaskRealtimeMetricsMonitor"]
getting this error
Copy code
1 error
        at org.apache.druid.cli.GuiceRunnable.makeInjector(GuiceRunnable.java:72)
        at org.apache.druid.cli.ServerRunnable.run(ServerRunnable.java:62)
        at org.apache.druid.cli.Main.main(Main.java:113)
Caused by: com.google.inject.CreationException: Unable to create injector, see the following errors:

1) Could not find a suitable constructor in org.apache.druid.indexing.common.stats.TaskRealtimeMetricsMonitor. Classes must have either one (and only one) constructor annotated with @Inject or a zero-argument constructor that is not private.
  at org.apache.druid.indexing.common.stats.TaskRealtimeMetricsMonitor.class(TaskRealtimeMetricsMonitor.java:44)
  while locating org.apache.druid.indexing.common.stats.TaskRealtimeMetricsMonitor
  at org.apache.druid.server.metrics.MetricsModule.getMonitorScheduler(MetricsModule.java:99) (via modules: com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> org.apache.druid.server.metrics.MetricsModule)
  at org.apache.druid.server.metrics.MetricsModule.getMonitorScheduler(MetricsModule.java:99) (via modules: com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> org.apache.druid.server.metrics.MetricsModule)
  while locating org.apache.druid.java.util.metrics.MonitorScheduler
  at org.apache.druid.server.metrics.MetricsModule.configure(MetricsModule.java:84) (via modules: com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> org.apache.druid.server.metrics.MetricsModule)
  while locating org.apache.druid.java.util.metrics.MonitorScheduler annotated with @com.google.inject.name.Named(value=ForTheEagerness)
@Brandon Tan thanks for the info what is the use of this file
druid.emitter.prometheus.dimensionMapPath=/etc/druid/conf/_common/defaultMetricDimensions.json
? is it to restrict the emission of metrics and by default are all metrics emitted?
b
as defined in docs:
Copy code
JSON file defining the Prometheus metric type, desired dimensions, help text, and conversionFactor for every Druid metric.
It does not seem to restrict the emission of metrics
Which version are you on , BTW?
s
0.22.1
actuallu without defaultMetricDimensions.json this file also metrics are emmited so i am asking
b
As I said, I don’t believe this file restricts any emission of metrics
Your error could be due to some Kafka ingestion formats. Could you validate that ?
s
in my case i have only batch ingestion. nothing for kafka while debugging i saw as the error sugest this metrics monitor doesn't have
'constructor annotated with @Inject or a zero-argument constructor that is not private'
other monitors have @Inject on top of public constructure
b
why do you need this then ?
org.apache.druid.indexing.common.statsTaskRealtimeMetricsMonitor