tarantool / metrics

Metric collection library for Tarantool
MIT License
39 stars 23 forks source link

Reset callbacks when Cartridge roles hot reload #378

Closed oleg-jukovec closed 1 year ago

oleg-jukovec commented 2 years ago

After #341 callbacks don't reset too. It seems like an unexpected behavior.

At least with cartridge, because each:

myapp.router> require("cartridge.roles").reload()
myapp.router> metrics = require("metrics")

adds 16 callbacks to:

https://github.com/tarantool/metrics/blob/b17a3234daff03481d15efa9a0c24e0cf56888ed/metrics/registry.lua#L13

16, 32, 48...

Old callbacks may be outdated or use outdated data. If we call them, it can lead to unexpected errors.

filonenko-mikhail commented 1 year ago

Let's reset callbacks