ruscalworld / fabric-exporter

Fabric mod that adds a Prometheus exporter with general metrics of your server
https://modrinth.com/mod/fabricexporter
MIT License
33 stars 6 forks source link

Cannot invoke error. #1

Closed Bitr0t-Zygzz closed 3 years ago

Bitr0t-Zygzz commented 3 years ago

I am trying to configure fabric exporter for 1.16.5 using, Windows with all of fabric 3 mod pack.

Not sure if I can ignore the error as I still haven't gotten the panel connected yet.

I can upload the entire log if necessary.

added note: visiting the 25585/metrics seems to work so I feel that this is not of concern image

ruscalworld commented 3 years ago

I've tried FabricExporter 1.0.1 and 1.0.3, but was unable to reproduce this with this modpack. Please upload the entire log and config/exporter.properties

lhns commented 3 years ago

I am experiencing the same thing on my server. I think that I might have found the cause in MillisPerTick.java#L16 because for the value for the label "type" is undefined. It only happens when Spark is still initializing.

ruscalworld commented 3 years ago

It seems to me that race condition of some kind takes place here, because I still can't reproduce this. I suppose that registering metrics on mod initialization with running updater on server start also can cause this. And I also don't know why this occurs only with MillisPerTick, but doesn't occur with TicksPerSecond where the similar solution with default gauge values is used.

lhns commented 3 years ago

The TicksPerSecond Gauge doesn't have any labels defined so it doesn't need label values but MillisPerTick has the "type" label and doesn't get a value in that null-check case. Maybe instead of setting the gauge to 0 you could set it for the type "min", "max" and "mean".

ruscalworld commented 3 years ago

Okay, it looks like this is the real cause of this problem. Now it should be fixed. Thanks for help.