Giter VIP home page Giter VIP logo

Comments (10)

tgeens avatar tgeens commented on June 10, 2024

from alfred-telemetry.

hvancamp avatar hvancamp commented on June 10, 2024

Yes, I checked. They are also missing from the prometheus metrics endpoint on Alfresco. See screenshot below.

missing-labels-on-alfred-telemetry-metrics-2

from alfred-telemetry.

tgeens avatar tgeens commented on June 10, 2024

Thanks for checking.

@kerkhofsd any clue ?

from alfred-telemetry.

kerkhofsd avatar kerkhofsd commented on June 10, 2024

Which version of Alfresco? Or more specifically: is this a version of Alfresco which includes Micrometer out of the box? (Alfresco Enterprise >= 6.1)

from alfred-telemetry.

kerkhofsd avatar kerkhofsd commented on June 10, 2024

If we assume that this is on a version of Alfresco that includes Micrometer out of the box, this might be an explanation:

  • Alfresco's PrometheusMeterRegistry is added to the static global composite registry (Metrics.globalRegistry). On this MeterRegistry no MeterFilters are applied (we don't touch Alfresco's registry).
  • Alfred Telemetries PrometheusMeterRegistry is added to the static global composite registry. On this MeterRegistry the MeterFilters (and hence the common tags) are applied.
  • As we can see here the scrape takes the first PrometheusMeterRegistry found in the global registry. This might be the Alfresco (no common tags) or the AT (with common tags) one, based on the position of the stars.

Just a theory that might explain the behavior: to be verified.

You should be able to test this theory by toggling following property: alfred.telemetry.alfresco-integration.include-default-alfresco-registry.
If alfred.telemetry.alfresco-integration.include-default-alfresco-registry=false, Alfresco's PrometheusMeterRegistry will not be registered and I would expect the issue to disappear.

from alfred-telemetry.

hvancamp avatar hvancamp commented on June 10, 2024

It's an Alfresco v6.1.1 so it indeed includes micrometer out of the box.

With the following metrics properties in alfresco-global.properties:

  • metrics.enabled=true
  • alfred.telemetry.alfresco-integration.enabled=true
  • alfred.telemetry.binder.cache.enabled=true

from alfred-telemetry.

hvancamp avatar hvancamp commented on June 10, 2024

Your theory is correct!

The issue is solved by adding alfred.telemetry.alfresco-integration.include-default-alfresco-registry=false

Maybe this should be the default setting?

from alfred-telemetry.

kerkhofsd avatar kerkhofsd commented on June 10, 2024

@hvancamp thanks for the confirmation.

Yes, it might be a good idea to disable this by default.

However disabling the Alfresco PrometheusMeterRegistry is only a workaround. We should make sure that we always scrape the Alfred Telemetry PrometheusMeterRegistry for our Prometheus endpoint.

from alfred-telemetry.

kerkhofsd avatar kerkhofsd commented on June 10, 2024

After having another look, I think the best approach is indeed disabling the integration of Alfresco's PrometheusMeterRegistry by default.

Furthermore, I think we should add the restriction that only a single PrometheusMeterRegistry can be available in the global registry. This means users have two options:

  1. Use the Alfresco PrometheusMeterRegistry by Alfresco.

    • Both scrape endpoints (/alfresco/s/alfred/telemetry/prometheus and /alfresco/s/prometheus) will be available
    • Both endpoints contain metrics registered by Alfresco and Alfred Telemetry
    • Both endpoints won't contain any common tags or other MeterFilters. (We don't customize the Alfresco registry)
  2. Use the PrometheusMeterRegistry provided and initialized by Alfred Telemetry

    • Both scrape endpoints will be available
    • The Alfresco endpoint will contain only the metrics registered by Alfresco
    • The Alfresco endpoint won't contain any common tags or other MeterFilters.
    • The AT endpoint will contain metrics registered by Alfresco and Alfred Telemetry. (At least if alfred.telemetry.alfresco-integration.enabled=true)
    • The AT endpoint will contain common tags or other MeterFilter's

That sounds acceptable, right @tgeens ?

Maybe we should rename alfred.telemetry.alfresco-integration.include-default-alfresco-registry to e.g. ... .alfresco-integration.use-default-alfresco-registry?

from alfred-telemetry.

tgeens avatar tgeens commented on June 10, 2024

(2) sounds very reasonable

from alfred-telemetry.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.