/openapi
endpoint may be partitioned in the event that the MicroProfile
runtime supports deployment of multiple applications. If an implementation wishes
to support multiple applications within a MicroProfile runtime, the semantics of
the /openapi
endpoint are expected to be the logical union of all the applications
in the runtime, which would imply merging multiple OpenAPI documents into a single
valid document (handling conflicting IDs and unique names)." - https://github.com/eclipse/microprofile-open-api/blob/master/spec/src/main/asciidoc/microprofile-openapi-spec.adoc#55-multiple-applicationsPersonally I am of the opinion that when you have multiple applications, the MP libs should publish under /${contextRoot}/mp_endpoint, if fact, the spec can say that it should always be /${context_root}/mp_endpoint, and in the case of only one app, your context root is typically / anyway, so then you end up with /mp_endpoint.
If we take /health as an example, the idea is the the Controller (K8n or Application Server then) can determine the health and decide to restart, in the case of K8n, restart the pod, in the case of application server, restart the app....
--
You received this message because you are subscribed to the Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this group and stop receiving emails from it, send an email to microprofile...@googlegroups.com.
To post to this group, send email to microp...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/154bbef8-13c3-434a-9498-8cf42149c256%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/C84A22B5-CABC-4A78-96AC-7AEFFD36ED49%40gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/b9ae2b7e-ed6e-47c7-b88e-c74508fad71c%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/33647418-fcb5-43cd-ae28-4c3cf388504f%40googlegroups.com.
Server 1 / App 1:connectionPool_managedConnections{datasource="someDatasource", appName="app1"} 25Server 2 / App 2:connectionPool_managedConnections{datasource="someDatasource", appName="app2"} 9
Server 1:connectionPool_managedConnections{datasource="someDatasource"} 34
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/ecfbc628-4118-4587-b749-848e26a809cd%40googlegroups.com.
For metrics, what we're envisioning using the app name for is something that looks like this:Server 1 / App 1:connectionPool_managedConnections{datasource="someDatasource", appName="app1"} 25Server 2 / App 2:connectionPool_managedConnections{datasource="someDatasource", appName="app2"} 9If people don't set an application name for each of their apps then the metric names would not be differentiated
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/ecfbc628-4118-4587-b749-848e26a809cd%40googlegroups.com.
The app server could use the context root of the application as the value of appName. (This IMO is more sensible than using the name of the archive, but that's open for discussion. Trouble might arise if someone is using metrics in a JAR deployment though, which could be possible, in that case we would have to use the archive name).The mechanism which will be used to propagate the value from app server to the application could be left vendor-specific. We could still add the possibility to override it using a specific property in META-INF/microprofile-config.properties in the application.I think this solution would be the least disruptive to the original "single app" philosophy of MicroProfile but still good enough to make metrics usable with multi-app servers.If we went with Ken's suggestion of metrics being tied to the context root of the application, what would happen to vendor and base metrics? Would the same set of metrics be duplicated for each deployment?
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/b47d12d9-f651-412d-a13a-f4d88a4d5625%40googlegroups.com.
If we went with Ken's suggestion of metrics being tied to the context root of the application, what would happen to vendor and base metrics? Would the same set of metrics be duplicated for each deployment?That's possible, but likely also depends on what the metric is.If it's measuring something in the app, then it wouldn't be, but if it's measuring something associated with "server level" then in a multi application server there would be some/a lot of overlap
--
You received this message because you are subscribed to the Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this group and stop receiving emails from it, send an email to microprofile...@googlegroups.com.
To post to this group, send email to microp...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/eb965701-492d-4d00-ad08-e50b4e3269a7%40googlegroups.com.
This gets back to one of the comments I made, I think, earlier.Namely that this proposal significantly deviates from everything in MicroProfile to date in that we've focused on single deployment for a single server instance, and not multiple deployments to a single server instance.In Eclipse MicroProfile our target goal is "Optimizing Enterprise Java for a Microservices Architecture". At the time this mission was created, I'd be surprised if everyone wasn't in agreement that a microservice meant a single deployment. If, and that is a very large if, MicroProfile wants to go beyond the idea of "single deployment", then that needs to be discussed and agreed upon by the entire community.
On Thu, Apr 11, 2019 at 5:56 AM 'Heiko Rupp' via Eclipse MicroProfile <microp...@googlegroups.com> wrote:
--
Am Freitag, 8. März 2019 08:29:01 UTC+1 schrieb Ken Finnigan:
If we went with Ken's suggestion of metrics being tied to the context root of the application, what would happen to vendor and base metrics? Would the same set of metrics be duplicated for each deployment?That's possible, but likely also depends on what the metric is.If it's measuring something in the app, then it wouldn't be, but if it's measuring something associated with "server level" then in a multi application server there would be some/a lot of overlapbase scope is mostly about JVM statistics. They should be the same for all applications on a servervendor scope is about vendor specific server metrics. E.g. for TT it could be number of loaded (jboss) modules.One would not want to expose them n times on a server with n deploymentsPutting the /metrics endpoint below the context root of a deployment would (imo) also be a configuration nightmare for the clients that actually pull the metrics from the MP-Metrics enabled servers.
You received this message because you are subscribed to the Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this group and stop receiving emails from it, send an email to microp...@googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to microprofile...@googlegroups.com.
To post to this group, send email to microp...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/5638be77-18e8-40e2-a219-869c3c74cbd9%40googlegroups.com.