Comments (10)
from alfred-telemetry.
Yes, I checked. They are also missing from the prometheus metrics endpoint on Alfresco. See screenshot below.
from alfred-telemetry.
Thanks for checking.
@kerkhofsd any clue ?
from alfred-telemetry.
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.
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 thisMeterRegistry
noMeterFilter
s are applied (we don't touch Alfresco's registry). - Alfred Telemetries
PrometheusMeterRegistry
is added to the static global composite registry. On thisMeterRegistry
theMeterFilter
s (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.
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.
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.
@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.
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:
-
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
MeterFilter
s. (We don't customize the Alfresco registry)
- Both scrape endpoints (
-
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
MeterFilter
s. - 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.
(2) sounds very reasonable
from alfred-telemetry.
Related Issues (20)
- Prometheus scraping: max number of requests reached during Alfresco startup
- Instrument RetryingTransactionHelper HOT 7
- Support for Alfresco 7 HOT 1
- SolrTrackingMetrics are not appearing since 0.6.0
- Prometheus endpoint raises ERROR when caching metrics enabled
- Possibility to expose metrics in Dynamic Extensions bundles HOT 1
- Switching solr subsystem from the admin console fails because of duplicate quartz job name
- Alfred telemetry solr not working when (at least) one tracker is disabled
- Re-integrate Alfresco Tomcat Servlet Metrics
- jdbc metrics broken on Alfresco 7 due to updated Apache Commons dbcp2 HOT 1
- Common tags not added to Alfresco's Prometheus Registry HOT 1
- First call to Solr Telemetry endpoint is returning a 500
- Error creating bean with name 'eu.xenit.alfred.telemetry.binder.solr.sharding.SolrShardingMetrics' HOT 5
- alfred-telemetry-platform declares transitive dependency on Alfresco enterprise HOT 7
- Prevent Alfred Telemetry Prometheus endpoint threads from stacking up HOT 4
- Sharding metrics HOT 4
- AEE multiple versions of Micrometer on the classpath can cause troubles HOT 9
- Alfresco integration can be confusing HOT 5
- Add indication to Admin Console if required meter-registry dependency is missing HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from alfred-telemetry.