[TOMEE-2287] Histogram Prometheus Output

classic Classic list List threaded Threaded
18 messages Options
Reply | Threaded
Open this post in threaded view
|

[TOMEE-2287] Histogram Prometheus Output

Michael Redlich
Hello everyone:

I am making progress implementing a Metrics Histogram example.  Please see
the following code:

@Path("/histogram")
@GET
@Produces(MediaType.TEXT_PLAIN)
// @Produces(MediaType.APPLICATION_JSON)
public Histogram histogramStatus() {
    Metadata metadata = new Metadata("items", MetricType.HISTOGRAM,
"degrees F");
    metadata.setDescription("A histogram of recent temperatures.");
    Histogram temps = metrics.histogram(metadata);
    for(int temp = 80; temp < 100; ++temp) {
        temps.update(temp);
    }
    return temps;
}


In APPLICATION_JSON mode (commented), the output is as expected. However,
in TEXT_MODE, I get the following message:

No message body writer has been found for class
org.apache.geronimo.microprofile.metrics.impl.HistogramImpl,
ContentType: text/plain

I haven't been able to find a way to correct this, especially since the
Counter Metric didn't require a body writer.

I would appreciate any help.  Thanks!

Mike.

--
*Code*, *Write*, *Cycle*, *Run*, *Drink*,
*Sleep ... Repeat*

*InfoQ <https://www.infoq.com/> Java Queue Editor*
https://about.me/mpredli <http://about.me/mpredli/>
https://twitter.com/mpredli
https://redlich.net/
https://javasig.org/
*Laissez Les Bon Temps Rouler*
Reply | Threaded
Open this post in threaded view
|

Re: [TOMEE-2287] Histogram Prometheus Output

ivanjunckes
Hi Michael, could you please push it to a remote branch so I can take a
look?

On Wed, Nov 28, 2018 at 1:26 PM Michael Redlich <[hidden email]> wrote:

> Hello everyone:
>
> I am making progress implementing a Metrics Histogram example.  Please see
> the following code:
>
> @Path("/histogram")
> @GET
> @Produces(MediaType.TEXT_PLAIN)
> // @Produces(MediaType.APPLICATION_JSON)
> public Histogram histogramStatus() {
>     Metadata metadata = new Metadata("items", MetricType.HISTOGRAM,
> "degrees F");
>     metadata.setDescription("A histogram of recent temperatures.");
>     Histogram temps = metrics.histogram(metadata);
>     for(int temp = 80; temp < 100; ++temp) {
>         temps.update(temp);
>     }
>     return temps;
> }
>
>
> In APPLICATION_JSON mode (commented), the output is as expected. However,
> in TEXT_MODE, I get the following message:
>
> No message body writer has been found for class
> org.apache.geronimo.microprofile.metrics.impl.HistogramImpl,
> ContentType: text/plain
>
> I haven't been able to find a way to correct this, especially since the
> Counter Metric didn't require a body writer.
>
> I would appreciate any help.  Thanks!
>
> Mike.
>
> --
> *Code*, *Write*, *Cycle*, *Run*, *Drink*,
> *Sleep ... Repeat*
>
> *InfoQ <https://www.infoq.com/> Java Queue Editor*
> https://about.me/mpredli <http://about.me/mpredli/>
> https://twitter.com/mpredli
> https://redlich.net/
> https://javasig.org/
> *Laissez Les Bon Temps Rouler*
>
Reply | Threaded
Open this post in threaded view
|

Re: [TOMEE-2287] Histogram Prometheus Output

Romain Manni-Bucau
Hello Michael,

in prometheus, histograms are not represented directly like their class and
the prometheus representation is done through an endpoint and not a body
writer as per microprofile spec - can likely be enhanced but it is not
needed today since you rarely want a single metrics in the output (see
https://github.com/apache/geronimo-metrics/blob/master/geronimo-metrics-common/src/main/java/org/apache/geronimo/microprofile/metrics/common/prometheus/PrometheusFormatter.java#L140
for an impl)

Now, geronimo-metrics provides for you the prometheus endpoints so you
don't need to implement it on your side, did you set the system
property geronimo.metrics.jaxrs.activated=true
?

Romain Manni-Bucau
@rmannibucau <https://twitter.com/rmannibucau> |  Blog
<https://rmannibucau.metawerx.net/> | Old Blog
<http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> |
LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
<https://www.packtpub.com/application-development/java-ee-8-high-performance>


Le mer. 28 nov. 2018 à 16:43, Ivan Junckes Filho <[hidden email]> a
écrit :

> Hi Michael, could you please push it to a remote branch so I can take a
> look?
>
> On Wed, Nov 28, 2018 at 1:26 PM Michael Redlich <[hidden email]> wrote:
>
> > Hello everyone:
> >
> > I am making progress implementing a Metrics Histogram example.  Please
> see
> > the following code:
> >
> > @Path("/histogram")
> > @GET
> > @Produces(MediaType.TEXT_PLAIN)
> > // @Produces(MediaType.APPLICATION_JSON)
> > public Histogram histogramStatus() {
> >     Metadata metadata = new Metadata("items", MetricType.HISTOGRAM,
> > "degrees F");
> >     metadata.setDescription("A histogram of recent temperatures.");
> >     Histogram temps = metrics.histogram(metadata);
> >     for(int temp = 80; temp < 100; ++temp) {
> >         temps.update(temp);
> >     }
> >     return temps;
> > }
> >
> >
> > In APPLICATION_JSON mode (commented), the output is as expected. However,
> > in TEXT_MODE, I get the following message:
> >
> > No message body writer has been found for class
> > org.apache.geronimo.microprofile.metrics.impl.HistogramImpl,
> > ContentType: text/plain
> >
> > I haven't been able to find a way to correct this, especially since the
> > Counter Metric didn't require a body writer.
> >
> > I would appreciate any help.  Thanks!
> >
> > Mike.
> >
> > --
> > *Code*, *Write*, *Cycle*, *Run*, *Drink*,
> > *Sleep ... Repeat*
> >
> > *InfoQ <https://www.infoq.com/> Java Queue Editor*
> > https://about.me/mpredli <http://about.me/mpredli/>
> > https://twitter.com/mpredli
> > https://redlich.net/
> > https://javasig.org/
> > *Laissez Les Bon Temps Rouler*
> >
>
Reply | Threaded
Open this post in threaded view
|

Re: [TOMEE-2287] Histogram Prometheus Output

Michael Redlich
In reply to this post by ivanjunckes
Hi Ivan:

Yes, I will clean things up a bit and do that soon.  I would also like to
try Romain's suggestion.  I'm not all that experienced in pushing to a
remote branch, so if you could complete the command below, it would be much
appreciated.  Thanks!

*git push*

Mike.

On Wed, Nov 28, 2018 at 10:43 AM Ivan Junckes Filho <[hidden email]>
wrote:

> Hi Michael, could you please push it to a remote branch so I can take a
> look?
>
> On Wed, Nov 28, 2018 at 1:26 PM Michael Redlich <[hidden email]> wrote:
>
>> Hello everyone:
>>
>> I am making progress implementing a Metrics Histogram example.  Please see
>> the following code:
>>
>> @Path("/histogram")
>> @GET
>> @Produces(MediaType.TEXT_PLAIN)
>> // @Produces(MediaType.APPLICATION_JSON)
>> public Histogram histogramStatus() {
>>     Metadata metadata = new Metadata("items", MetricType.HISTOGRAM,
>> "degrees F");
>>     metadata.setDescription("A histogram of recent temperatures.");
>>     Histogram temps = metrics.histogram(metadata);
>>     for(int temp = 80; temp < 100; ++temp) {
>>         temps.update(temp);
>>     }
>>     return temps;
>> }
>>
>>
>> In APPLICATION_JSON mode (commented), the output is as expected. However,
>> in TEXT_MODE, I get the following message:
>>
>> No message body writer has been found for class
>> org.apache.geronimo.microprofile.metrics.impl.HistogramImpl,
>> ContentType: text/plain
>>
>> I haven't been able to find a way to correct this, especially since the
>> Counter Metric didn't require a body writer.
>>
>> I would appreciate any help.  Thanks!
>>
>> Mike.
>>
>> --
>> *Code*, *Write*, *Cycle*, *Run*, *Drink*,
>> *Sleep ... Repeat*
>>
>> *InfoQ <https://www.infoq.com/> Java Queue Editor*
>> https://about.me/mpredli <http://about.me/mpredli/>
>> https://twitter.com/mpredli
>> https://redlich.net/
>> https://javasig.org/
>> *Laissez Les Bon Temps Rouler*
>>
>

--
*Code*, *Write*, *Cycle*, *Run*, *Drink*,
*Sleep ... Repeat*

*InfoQ <https://www.infoq.com/> Java Queue Editor*
https://about.me/mpredli <http://about.me/mpredli/>
https://twitter.com/mpredli
https://redlich.net/
https://javasig.org/
*Laissez Les Bon Temps Rouler*
Reply | Threaded
Open this post in threaded view
|

Re: [TOMEE-2287] Histogram Prometheus Output

Michael Redlich
In reply to this post by Romain Manni-Bucau
Hi Romain:

Thanks for all the background information on this!  I certainly appreciate
it.

Mike.

On Wed, Nov 28, 2018 at 10:47 AM Romain Manni-Bucau <[hidden email]>
wrote:

> Hello Michael,
>
> in prometheus, histograms are not represented directly like their class
> and the prometheus representation is done through an endpoint and not a
> body writer as per microprofile spec - can likely be enhanced but it is not
> needed today since you rarely want a single metrics in the output (see
> https://github.com/apache/geronimo-metrics/blob/master/geronimo-metrics-common/src/main/java/org/apache/geronimo/microprofile/metrics/common/prometheus/PrometheusFormatter.java#L140
> for an impl)
>
> Now, geronimo-metrics provides for you the prometheus endpoints so you
> don't need to implement it on your side, did you set the system property geronimo.metrics.jaxrs.activated=true
> ?
>
> Romain Manni-Bucau
> @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> <https://rmannibucau.metawerx.net/> | Old Blog
> <http://rmannibucau.wordpress.com> | Github
> <https://github.com/rmannibucau> | LinkedIn
> <https://www.linkedin.com/in/rmannibucau> | Book
> <https://www.packtpub.com/application-development/java-ee-8-high-performance>
>
>
> Le mer. 28 nov. 2018 à 16:43, Ivan Junckes Filho <[hidden email]>
> a écrit :
>
>> Hi Michael, could you please push it to a remote branch so I can take a
>> look?
>>
>> On Wed, Nov 28, 2018 at 1:26 PM Michael Redlich <[hidden email]>
>> wrote:
>>
>> > Hello everyone:
>> >
>> > I am making progress implementing a Metrics Histogram example.  Please
>> see
>> > the following code:
>> >
>> > @Path("/histogram")
>> > @GET
>> > @Produces(MediaType.TEXT_PLAIN)
>> > // @Produces(MediaType.APPLICATION_JSON)
>> > public Histogram histogramStatus() {
>> >     Metadata metadata = new Metadata("items", MetricType.HISTOGRAM,
>> > "degrees F");
>> >     metadata.setDescription("A histogram of recent temperatures.");
>> >     Histogram temps = metrics.histogram(metadata);
>> >     for(int temp = 80; temp < 100; ++temp) {
>> >         temps.update(temp);
>> >     }
>> >     return temps;
>> > }
>> >
>> >
>> > In APPLICATION_JSON mode (commented), the output is as expected.
>> However,
>> > in TEXT_MODE, I get the following message:
>> >
>> > No message body writer has been found for class
>> > org.apache.geronimo.microprofile.metrics.impl.HistogramImpl,
>> > ContentType: text/plain
>> >
>> > I haven't been able to find a way to correct this, especially since the
>> > Counter Metric didn't require a body writer.
>> >
>> > I would appreciate any help.  Thanks!
>> >
>> > Mike.
>> >
>> > --
>> > *Code*, *Write*, *Cycle*, *Run*, *Drink*,
>> > *Sleep ... Repeat*
>> >
>> > *InfoQ <https://www.infoq.com/> Java Queue Editor*
>> > https://about.me/mpredli <http://about.me/mpredli/>
>> > https://twitter.com/mpredli
>> > https://redlich.net/
>> > https://javasig.org/
>> > *Laissez Les Bon Temps Rouler*
>> >
>>
>

--
*Code*, *Write*, *Cycle*, *Run*, *Drink*,
*Sleep ... Repeat*

*InfoQ <https://www.infoq.com/> Java Queue Editor*
https://about.me/mpredli <http://about.me/mpredli/>
https://twitter.com/mpredli
https://redlich.net/
https://javasig.org/
*Laissez Les Bon Temps Rouler*
Reply | Threaded
Open this post in threaded view
|

Re: [TOMEE-2287] Histogram Prometheus Output

ivanjunckes
Hi Michael,

These are some commands that may help you.

#Create a branch from master
git checkout -b <branch-name>

#List the remotes you have
git remote -v

#Create a new remote
git remote add <remote-name> <remote-url>

#Push to the remote branch
git push <remote-name> <branch-name>



On Thu, Nov 29, 2018 at 8:25 AM Michael Redlich <[hidden email]> wrote:

> Hi Romain:
>
> Thanks for all the background information on this!  I certainly appreciate
> it.
>
> Mike.
>
> On Wed, Nov 28, 2018 at 10:47 AM Romain Manni-Bucau <[hidden email]
> >
> wrote:
>
> > Hello Michael,
> >
> > in prometheus, histograms are not represented directly like their class
> > and the prometheus representation is done through an endpoint and not a
> > body writer as per microprofile spec - can likely be enhanced but it is
> not
> > needed today since you rarely want a single metrics in the output (see
> >
> https://github.com/apache/geronimo-metrics/blob/master/geronimo-metrics-common/src/main/java/org/apache/geronimo/microprofile/metrics/common/prometheus/PrometheusFormatter.java#L140
> > for an impl)
> >
> > Now, geronimo-metrics provides for you the prometheus endpoints so you
> > don't need to implement it on your side, did you set the system property
> geronimo.metrics.jaxrs.activated=true
> > ?
> >
> > Romain Manni-Bucau
> > @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> > <https://rmannibucau.metawerx.net/> | Old Blog
> > <http://rmannibucau.wordpress.com> | Github
> > <https://github.com/rmannibucau> | LinkedIn
> > <https://www.linkedin.com/in/rmannibucau> | Book
> > <
> https://www.packtpub.com/application-development/java-ee-8-high-performance
> >
> >
> >
> > Le mer. 28 nov. 2018 à 16:43, Ivan Junckes Filho <[hidden email]>
> > a écrit :
> >
> >> Hi Michael, could you please push it to a remote branch so I can take a
> >> look?
> >>
> >> On Wed, Nov 28, 2018 at 1:26 PM Michael Redlich <[hidden email]>
> >> wrote:
> >>
> >> > Hello everyone:
> >> >
> >> > I am making progress implementing a Metrics Histogram example.  Please
> >> see
> >> > the following code:
> >> >
> >> > @Path("/histogram")
> >> > @GET
> >> > @Produces(MediaType.TEXT_PLAIN)
> >> > // @Produces(MediaType.APPLICATION_JSON)
> >> > public Histogram histogramStatus() {
> >> >     Metadata metadata = new Metadata("items", MetricType.HISTOGRAM,
> >> > "degrees F");
> >> >     metadata.setDescription("A histogram of recent temperatures.");
> >> >     Histogram temps = metrics.histogram(metadata);
> >> >     for(int temp = 80; temp < 100; ++temp) {
> >> >         temps.update(temp);
> >> >     }
> >> >     return temps;
> >> > }
> >> >
> >> >
> >> > In APPLICATION_JSON mode (commented), the output is as expected.
> >> However,
> >> > in TEXT_MODE, I get the following message:
> >> >
> >> > No message body writer has been found for class
> >> > org.apache.geronimo.microprofile.metrics.impl.HistogramImpl,
> >> > ContentType: text/plain
> >> >
> >> > I haven't been able to find a way to correct this, especially since
> the
> >> > Counter Metric didn't require a body writer.
> >> >
> >> > I would appreciate any help.  Thanks!
> >> >
> >> > Mike.
> >> >
> >> > --
> >> > *Code*, *Write*, *Cycle*, *Run*, *Drink*,
> >> > *Sleep ... Repeat*
> >> >
> >> > *InfoQ <https://www.infoq.com/> Java Queue Editor*
> >> > https://about.me/mpredli <http://about.me/mpredli/>
> >> > https://twitter.com/mpredli
> >> > https://redlich.net/
> >> > https://javasig.org/
> >> > *Laissez Les Bon Temps Rouler*
> >> >
> >>
> >
>
> --
> *Code*, *Write*, *Cycle*, *Run*, *Drink*,
> *Sleep ... Repeat*
>
> *InfoQ <https://www.infoq.com/> Java Queue Editor*
> https://about.me/mpredli <http://about.me/mpredli/>
> https://twitter.com/mpredli
> https://redlich.net/
> https://javasig.org/
> *Laissez Les Bon Temps Rouler*
>
Reply | Threaded
Open this post in threaded view
|

Re: [TOMEE-2287] Histogram Prometheus Output

Michael Redlich
Thanks, Ivan!

Mike.


On Thu, Nov 29, 2018 at 6:41 AM Ivan Junckes Filho <[hidden email]>
wrote:

> Hi Michael,
>
> These are some commands that may help you.
>
> #Create a branch from master
> git checkout -b <branch-name>
>
> #List the remotes you have
> git remote -v
>
> #Create a new remote
> git remote add <remote-name> <remote-url>
>
> #Push to the remote branch
> git push <remote-name> <branch-name>
>
>
>
> On Thu, Nov 29, 2018 at 8:25 AM Michael Redlich <[hidden email]> wrote:
>
>> Hi Romain:
>>
>> Thanks for all the background information on this!  I certainly appreciate
>> it.
>>
>> Mike.
>>
>> On Wed, Nov 28, 2018 at 10:47 AM Romain Manni-Bucau <
>> [hidden email]>
>> wrote:
>>
>> > Hello Michael,
>> >
>> > in prometheus, histograms are not represented directly like their class
>> > and the prometheus representation is done through an endpoint and not a
>> > body writer as per microprofile spec - can likely be enhanced but it is
>> not
>> > needed today since you rarely want a single metrics in the output (see
>> >
>> https://github.com/apache/geronimo-metrics/blob/master/geronimo-metrics-common/src/main/java/org/apache/geronimo/microprofile/metrics/common/prometheus/PrometheusFormatter.java#L140
>> > for an impl)
>> >
>> > Now, geronimo-metrics provides for you the prometheus endpoints so you
>> > don't need to implement it on your side, did you set the system
>> property geronimo.metrics.jaxrs.activated=true
>> > ?
>> >
>> > Romain Manni-Bucau
>> > @rmannibucau <https://twitter.com/rmannibucau> |  Blog
>> > <https://rmannibucau.metawerx.net/> | Old Blog
>> > <http://rmannibucau.wordpress.com> | Github
>> > <https://github.com/rmannibucau> | LinkedIn
>> > <https://www.linkedin.com/in/rmannibucau> | Book
>> > <
>> https://www.packtpub.com/application-development/java-ee-8-high-performance
>> >
>> >
>> >
>> > Le mer. 28 nov. 2018 à 16:43, Ivan Junckes Filho <[hidden email]
>> >
>> > a écrit :
>> >
>> >> Hi Michael, could you please push it to a remote branch so I can take a
>> >> look?
>> >>
>> >> On Wed, Nov 28, 2018 at 1:26 PM Michael Redlich <[hidden email]>
>> >> wrote:
>> >>
>> >> > Hello everyone:
>> >> >
>> >> > I am making progress implementing a Metrics Histogram example.
>> Please
>> >> see
>> >> > the following code:
>> >> >
>> >> > @Path("/histogram")
>> >> > @GET
>> >> > @Produces(MediaType.TEXT_PLAIN)
>> >> > // @Produces(MediaType.APPLICATION_JSON)
>> >> > public Histogram histogramStatus() {
>> >> >     Metadata metadata = new Metadata("items", MetricType.HISTOGRAM,
>> >> > "degrees F");
>> >> >     metadata.setDescription("A histogram of recent temperatures.");
>> >> >     Histogram temps = metrics.histogram(metadata);
>> >> >     for(int temp = 80; temp < 100; ++temp) {
>> >> >         temps.update(temp);
>> >> >     }
>> >> >     return temps;
>> >> > }
>> >> >
>> >> >
>> >> > In APPLICATION_JSON mode (commented), the output is as expected.
>> >> However,
>> >> > in TEXT_MODE, I get the following message:
>> >> >
>> >> > No message body writer has been found for class
>> >> > org.apache.geronimo.microprofile.metrics.impl.HistogramImpl,
>> >> > ContentType: text/plain
>> >> >
>> >> > I haven't been able to find a way to correct this, especially since
>> the
>> >> > Counter Metric didn't require a body writer.
>> >> >
>> >> > I would appreciate any help.  Thanks!
>> >> >
>> >> > Mike.
>> >> >
>> >> > --
>> >> > *Code*, *Write*, *Cycle*, *Run*, *Drink*,
>> >> > *Sleep ... Repeat*
>> >> >
>> >> > *InfoQ <https://www.infoq.com/> Java Queue Editor*
>> >> > https://about.me/mpredli <http://about.me/mpredli/>
>> >> > https://twitter.com/mpredli
>> >> > https://redlich.net/
>> >> > https://javasig.org/
>> >> > *Laissez Les Bon Temps Rouler*
>> >> >
>> >>
>> >
>>
>> --
>> *Code*, *Write*, *Cycle*, *Run*, *Drink*,
>> *Sleep ... Repeat*
>>
>> *InfoQ <https://www.infoq.com/> Java Queue Editor*
>> https://about.me/mpredli <http://about.me/mpredli/>
>> https://twitter.com/mpredli
>> https://redlich.net/
>> https://javasig.org/
>> *Laissez Les Bon Temps Rouler*
>>
>

--
*Code*, *Write*, *Cycle*, *Run*, *Drink*,
*Sleep ... Repeat*

*InfoQ <https://www.infoq.com/> Java Queue Editor*
https://about.me/mpredli <http://about.me/mpredli/>
https://twitter.com/mpredli
https://redlich.net/
https://javasig.org/
*Laissez Les Bon Temps Rouler*
Reply | Threaded
Open this post in threaded view
|

Re: [TOMEE-2287] Histogram Prometheus Output

Richard Monson-Haefel
Cool to see you getting involved, Mike!  Keep it up!

On Thu, Nov 29, 2018 at 11:14 AM Michael Redlich <[hidden email]> wrote:

> Thanks, Ivan!
>
> Mike.
>
>
> On Thu, Nov 29, 2018 at 6:41 AM Ivan Junckes Filho <[hidden email]>
> wrote:
>
> > Hi Michael,
> >
> > These are some commands that may help you.
> >
> > #Create a branch from master
> > git checkout -b <branch-name>
> >
> > #List the remotes you have
> > git remote -v
> >
> > #Create a new remote
> > git remote add <remote-name> <remote-url>
> >
> > #Push to the remote branch
> > git push <remote-name> <branch-name>
> >
> >
> >
> > On Thu, Nov 29, 2018 at 8:25 AM Michael Redlich <[hidden email]>
> wrote:
> >
> >> Hi Romain:
> >>
> >> Thanks for all the background information on this!  I certainly
> appreciate
> >> it.
> >>
> >> Mike.
> >>
> >> On Wed, Nov 28, 2018 at 10:47 AM Romain Manni-Bucau <
> >> [hidden email]>
> >> wrote:
> >>
> >> > Hello Michael,
> >> >
> >> > in prometheus, histograms are not represented directly like their
> class
> >> > and the prometheus representation is done through an endpoint and not
> a
> >> > body writer as per microprofile spec - can likely be enhanced but it
> is
> >> not
> >> > needed today since you rarely want a single metrics in the output (see
> >> >
> >>
> https://github.com/apache/geronimo-metrics/blob/master/geronimo-metrics-common/src/main/java/org/apache/geronimo/microprofile/metrics/common/prometheus/PrometheusFormatter.java#L140
> >> > for an impl)
> >> >
> >> > Now, geronimo-metrics provides for you the prometheus endpoints so you
> >> > don't need to implement it on your side, did you set the system
> >> property geronimo.metrics.jaxrs.activated=true
> >> > ?
> >> >
> >> > Romain Manni-Bucau
> >> > @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> >> > <https://rmannibucau.metawerx.net/> | Old Blog
> >> > <http://rmannibucau.wordpress.com> | Github
> >> > <https://github.com/rmannibucau> | LinkedIn
> >> > <https://www.linkedin.com/in/rmannibucau> | Book
> >> > <
> >>
> https://www.packtpub.com/application-development/java-ee-8-high-performance
> >> >
> >> >
> >> >
> >> > Le mer. 28 nov. 2018 à 16:43, Ivan Junckes Filho <
> [hidden email]
> >> >
> >> > a écrit :
> >> >
> >> >> Hi Michael, could you please push it to a remote branch so I can
> take a
> >> >> look?
> >> >>
> >> >> On Wed, Nov 28, 2018 at 1:26 PM Michael Redlich <[hidden email]>
> >> >> wrote:
> >> >>
> >> >> > Hello everyone:
> >> >> >
> >> >> > I am making progress implementing a Metrics Histogram example.
> >> Please
> >> >> see
> >> >> > the following code:
> >> >> >
> >> >> > @Path("/histogram")
> >> >> > @GET
> >> >> > @Produces(MediaType.TEXT_PLAIN)
> >> >> > // @Produces(MediaType.APPLICATION_JSON)
> >> >> > public Histogram histogramStatus() {
> >> >> >     Metadata metadata = new Metadata("items", MetricType.HISTOGRAM,
> >> >> > "degrees F");
> >> >> >     metadata.setDescription("A histogram of recent temperatures.");
> >> >> >     Histogram temps = metrics.histogram(metadata);
> >> >> >     for(int temp = 80; temp < 100; ++temp) {
> >> >> >         temps.update(temp);
> >> >> >     }
> >> >> >     return temps;
> >> >> > }
> >> >> >
> >> >> >
> >> >> > In APPLICATION_JSON mode (commented), the output is as expected.
> >> >> However,
> >> >> > in TEXT_MODE, I get the following message:
> >> >> >
> >> >> > No message body writer has been found for class
> >> >> > org.apache.geronimo.microprofile.metrics.impl.HistogramImpl,
> >> >> > ContentType: text/plain
> >> >> >
> >> >> > I haven't been able to find a way to correct this, especially since
> >> the
> >> >> > Counter Metric didn't require a body writer.
> >> >> >
> >> >> > I would appreciate any help.  Thanks!
> >> >> >
> >> >> > Mike.
> >> >> >
> >> >> > --
> >> >> > *Code*, *Write*, *Cycle*, *Run*, *Drink*,
> >> >> > *Sleep ... Repeat*
> >> >> >
> >> >> > *InfoQ <https://www.infoq.com/> Java Queue Editor*
> >> >> > https://about.me/mpredli <http://about.me/mpredli/>
> >> >> > https://twitter.com/mpredli
> >> >> > https://redlich.net/
> >> >> > https://javasig.org/
> >> >> > *Laissez Les Bon Temps Rouler*
> >> >> >
> >> >>
> >> >
> >>
> >> --
> >> *Code*, *Write*, *Cycle*, *Run*, *Drink*,
> >> *Sleep ... Repeat*
> >>
> >> *InfoQ <https://www.infoq.com/> Java Queue Editor*
> >> https://about.me/mpredli <http://about.me/mpredli/>
> >> https://twitter.com/mpredli
> >> https://redlich.net/
> >> https://javasig.org/
> >> *Laissez Les Bon Temps Rouler*
> >>
> >
>
> --
> *Code*, *Write*, *Cycle*, *Run*, *Drink*,
> *Sleep ... Repeat*
>
> *InfoQ <https://www.infoq.com/> Java Queue Editor*
> https://about.me/mpredli <http://about.me/mpredli/>
> https://twitter.com/mpredli
> https://redlich.net/
> https://javasig.org/
> *Laissez Les Bon Temps Rouler*
>


--
Richard Monson-Haefel
https://twitter.com/rmonson
https://www.linkedin.com/in/monsonhaefel/
Reply | Threaded
Open this post in threaded view
|

Re: [TOMEE-2287] Histogram Prometheus Output

Michael Redlich
Thanks, Richard!

Mike.

On Thu, Nov 29, 2018 at 1:39 PM Richard Monson-Haefel <
[hidden email]> wrote:

> Cool to see you getting involved, Mike!  Keep it up!
>
> On Thu, Nov 29, 2018 at 11:14 AM Michael Redlich <[hidden email]>
> wrote:
>
>> Thanks, Ivan!
>>
>> Mike.
>>
>>
>> On Thu, Nov 29, 2018 at 6:41 AM Ivan Junckes Filho <[hidden email]
>> >
>> wrote:
>>
>> > Hi Michael,
>> >
>> > These are some commands that may help you.
>> >
>> > #Create a branch from master
>> > git checkout -b <branch-name>
>> >
>> > #List the remotes you have
>> > git remote -v
>> >
>> > #Create a new remote
>> > git remote add <remote-name> <remote-url>
>> >
>> > #Push to the remote branch
>> > git push <remote-name> <branch-name>
>> >
>> >
>> >
>> > On Thu, Nov 29, 2018 at 8:25 AM Michael Redlich <[hidden email]>
>> wrote:
>> >
>> >> Hi Romain:
>> >>
>> >> Thanks for all the background information on this!  I certainly
>> appreciate
>> >> it.
>> >>
>> >> Mike.
>> >>
>> >> On Wed, Nov 28, 2018 at 10:47 AM Romain Manni-Bucau <
>> >> [hidden email]>
>> >> wrote:
>> >>
>> >> > Hello Michael,
>> >> >
>> >> > in prometheus, histograms are not represented directly like their
>> class
>> >> > and the prometheus representation is done through an endpoint and
>> not a
>> >> > body writer as per microprofile spec - can likely be enhanced but it
>> is
>> >> not
>> >> > needed today since you rarely want a single metrics in the output
>> (see
>> >> >
>> >>
>> https://github.com/apache/geronimo-metrics/blob/master/geronimo-metrics-common/src/main/java/org/apache/geronimo/microprofile/metrics/common/prometheus/PrometheusFormatter.java#L140
>> >> > for an impl)
>> >> >
>> >> > Now, geronimo-metrics provides for you the prometheus endpoints so
>> you
>> >> > don't need to implement it on your side, did you set the system
>> >> property geronimo.metrics.jaxrs.activated=true
>> >> > ?
>> >> >
>> >> > Romain Manni-Bucau
>> >> > @rmannibucau <https://twitter.com/rmannibucau> |  Blog
>> >> > <https://rmannibucau.metawerx.net/> | Old Blog
>> >> > <http://rmannibucau.wordpress.com> | Github
>> >> > <https://github.com/rmannibucau> | LinkedIn
>> >> > <https://www.linkedin.com/in/rmannibucau> | Book
>> >> > <
>> >>
>> https://www.packtpub.com/application-development/java-ee-8-high-performance
>> >> >
>> >> >
>> >> >
>> >> > Le mer. 28 nov. 2018 à 16:43, Ivan Junckes Filho <
>> [hidden email]
>> >> >
>> >> > a écrit :
>> >> >
>> >> >> Hi Michael, could you please push it to a remote branch so I can
>> take a
>> >> >> look?
>> >> >>
>> >> >> On Wed, Nov 28, 2018 at 1:26 PM Michael Redlich <[hidden email]>
>> >> >> wrote:
>> >> >>
>> >> >> > Hello everyone:
>> >> >> >
>> >> >> > I am making progress implementing a Metrics Histogram example.
>> >> Please
>> >> >> see
>> >> >> > the following code:
>> >> >> >
>> >> >> > @Path("/histogram")
>> >> >> > @GET
>> >> >> > @Produces(MediaType.TEXT_PLAIN)
>> >> >> > // @Produces(MediaType.APPLICATION_JSON)
>> >> >> > public Histogram histogramStatus() {
>> >> >> >     Metadata metadata = new Metadata("items",
>> MetricType.HISTOGRAM,
>> >> >> > "degrees F");
>> >> >> >     metadata.setDescription("A histogram of recent
>> temperatures.");
>> >> >> >     Histogram temps = metrics.histogram(metadata);
>> >> >> >     for(int temp = 80; temp < 100; ++temp) {
>> >> >> >         temps.update(temp);
>> >> >> >     }
>> >> >> >     return temps;
>> >> >> > }
>> >> >> >
>> >> >> >
>> >> >> > In APPLICATION_JSON mode (commented), the output is as expected.
>> >> >> However,
>> >> >> > in TEXT_MODE, I get the following message:
>> >> >> >
>> >> >> > No message body writer has been found for class
>> >> >> > org.apache.geronimo.microprofile.metrics.impl.HistogramImpl,
>> >> >> > ContentType: text/plain
>> >> >> >
>> >> >> > I haven't been able to find a way to correct this, especially
>> since
>> >> the
>> >> >> > Counter Metric didn't require a body writer.
>> >> >> >
>> >> >> > I would appreciate any help.  Thanks!
>> >> >> >
>> >> >> > Mike.
>> >> >> >
>> >> >> > --
>> >> >> > *Code*, *Write*, *Cycle*, *Run*, *Drink*,
>> >> >> > *Sleep ... Repeat*
>> >> >> >
>> >> >> > *InfoQ <https://www.infoq.com/> Java Queue Editor*
>> >> >> > https://about.me/mpredli <http://about.me/mpredli/>
>> >> >> > https://twitter.com/mpredli
>> >> >> > https://redlich.net/
>> >> >> > https://javasig.org/
>> >> >> > *Laissez Les Bon Temps Rouler*
>> >> >> >
>> >> >>
>> >> >
>> >>
>> >> --
>> >> *Code*, *Write*, *Cycle*, *Run*, *Drink*,
>> >> *Sleep ... Repeat*
>> >>
>> >> *InfoQ <https://www.infoq.com/> Java Queue Editor*
>> >> https://about.me/mpredli <http://about.me/mpredli/>
>> >> https://twitter.com/mpredli
>> >> https://redlich.net/
>> >> https://javasig.org/
>> >> *Laissez Les Bon Temps Rouler*
>> >>
>> >
>>
>> --
>> *Code*, *Write*, *Cycle*, *Run*, *Drink*,
>> *Sleep ... Repeat*
>>
>> *InfoQ <https://www.infoq.com/> Java Queue Editor*
>> https://about.me/mpredli <http://about.me/mpredli/>
>> https://twitter.com/mpredli
>> https://redlich.net/
>> https://javasig.org/
>> *Laissez Les Bon Temps Rouler*
>>
>
>
> --
> Richard Monson-Haefel
> https://twitter.com/rmonson
> https://www.linkedin.com/in/monsonhaefel/
>
--
*Code*, *Write*, *Cycle*, *Run*, *Drink*,
*Sleep ... Repeat*

*InfoQ <https://www.infoq.com/> Java Queue Editor*
https://about.me/mpredli <http://about.me/mpredli/>
https://twitter.com/mpredli
https://redlich.net/
https://javasig.org/
*Laissez Les Bon Temps Rouler*
Reply | Threaded
Open this post in threaded view
|

Re: [TOMEE-2287] Histogram Prometheus Output

Michael Redlich
In reply to this post by ivanjunckes
Hi Ivan:

I just tried to push a new branch to the tomee git repository.  When I
executed *git push <remote_name> <branch_name>*, I used my own GitHub
account for authentication, but knowing that it might fail anyway, I
received the following message:

*Username for 'https://github.com <https://github.com>': mpredli01*
*Password for 'https://mpredli01@...
<https://mpredli01@...>':*
*remote: Permission to apache/tomee.git denied to mpredli01.*
*fatal: unable to access 'https://github.com/apache/tomee.git/
<https://github.com/apache/tomee.git/>': The requested URL returned error:
403*

I assume I would need my own authentication to the tomee git repository?
Please advise on how to proceed.  Thanks!

Mike.




On Thu, Nov 29, 2018 at 6:41 AM Ivan Junckes Filho <[hidden email]>
wrote:

> Hi Michael,
>
> These are some commands that may help you.
>
> #Create a branch from master
> git checkout -b <branch-name>
>
> #List the remotes you have
> git remote -v
>
> #Create a new remote
> git remote add <remote-name> <remote-url>
>
> #Push to the remote branch
> git push <remote-name> <branch-name>
>
>
>
> On Thu, Nov 29, 2018 at 8:25 AM Michael Redlich <[hidden email]> wrote:
>
>> Hi Romain:
>>
>> Thanks for all the background information on this!  I certainly appreciate
>> it.
>>
>> Mike.
>>
>> On Wed, Nov 28, 2018 at 10:47 AM Romain Manni-Bucau <
>> [hidden email]>
>> wrote:
>>
>> > Hello Michael,
>> >
>> > in prometheus, histograms are not represented directly like their class
>> > and the prometheus representation is done through an endpoint and not a
>> > body writer as per microprofile spec - can likely be enhanced but it is
>> not
>> > needed today since you rarely want a single metrics in the output (see
>> >
>> https://github.com/apache/geronimo-metrics/blob/master/geronimo-metrics-common/src/main/java/org/apache/geronimo/microprofile/metrics/common/prometheus/PrometheusFormatter.java#L140
>> > for an impl)
>> >
>> > Now, geronimo-metrics provides for you the prometheus endpoints so you
>> > don't need to implement it on your side, did you set the system
>> property geronimo.metrics.jaxrs.activated=true
>> > ?
>> >
>> > Romain Manni-Bucau
>> > @rmannibucau <https://twitter.com/rmannibucau> |  Blog
>> > <https://rmannibucau.metawerx.net/> | Old Blog
>> > <http://rmannibucau.wordpress.com> | Github
>> > <https://github.com/rmannibucau> | LinkedIn
>> > <https://www.linkedin.com/in/rmannibucau> | Book
>> > <
>> https://www.packtpub.com/application-development/java-ee-8-high-performance
>> >
>> >
>> >
>> > Le mer. 28 nov. 2018 à 16:43, Ivan Junckes Filho <[hidden email]
>> >
>> > a écrit :
>> >
>> >> Hi Michael, could you please push it to a remote branch so I can take a
>> >> look?
>> >>
>> >> On Wed, Nov 28, 2018 at 1:26 PM Michael Redlich <[hidden email]>
>> >> wrote:
>> >>
>> >> > Hello everyone:
>> >> >
>> >> > I am making progress implementing a Metrics Histogram example.
>> Please
>> >> see
>> >> > the following code:
>> >> >
>> >> > @Path("/histogram")
>> >> > @GET
>> >> > @Produces(MediaType.TEXT_PLAIN)
>> >> > // @Produces(MediaType.APPLICATION_JSON)
>> >> > public Histogram histogramStatus() {
>> >> >     Metadata metadata = new Metadata("items", MetricType.HISTOGRAM,
>> >> > "degrees F");
>> >> >     metadata.setDescription("A histogram of recent temperatures.");
>> >> >     Histogram temps = metrics.histogram(metadata);
>> >> >     for(int temp = 80; temp < 100; ++temp) {
>> >> >         temps.update(temp);
>> >> >     }
>> >> >     return temps;
>> >> > }
>> >> >
>> >> >
>> >> > In APPLICATION_JSON mode (commented), the output is as expected.
>> >> However,
>> >> > in TEXT_MODE, I get the following message:
>> >> >
>> >> > No message body writer has been found for class
>> >> > org.apache.geronimo.microprofile.metrics.impl.HistogramImpl,
>> >> > ContentType: text/plain
>> >> >
>> >> > I haven't been able to find a way to correct this, especially since
>> the
>> >> > Counter Metric didn't require a body writer.
>> >> >
>> >> > I would appreciate any help.  Thanks!
>> >> >
>> >> > Mike.
>> >> >
>> >> > --
>> >> > *Code*, *Write*, *Cycle*, *Run*, *Drink*,
>> >> > *Sleep ... Repeat*
>> >> >
>> >> > *InfoQ <https://www.infoq.com/> Java Queue Editor*
>> >> > https://about.me/mpredli <http://about.me/mpredli/>
>> >> > https://twitter.com/mpredli
>> >> > https://redlich.net/
>> >> > https://javasig.org/
>> >> > *Laissez Les Bon Temps Rouler*
>> >> >
>> >>
>> >
>>
>> --
>> *Code*, *Write*, *Cycle*, *Run*, *Drink*,
>> *Sleep ... Repeat*
>>
>> *InfoQ <https://www.infoq.com/> Java Queue Editor*
>> https://about.me/mpredli <http://about.me/mpredli/>
>> https://twitter.com/mpredli
>> https://redlich.net/
>> https://javasig.org/
>> *Laissez Les Bon Temps Rouler*
>>
>

--
*Code*, *Write*, *Cycle*, *Run*, *Drink*,
*Sleep ... Repeat*

*InfoQ <https://www.infoq.com/> Java Queue Editor*
https://about.me/mpredli <http://about.me/mpredli/>
https://twitter.com/mpredli
https://redlich.net/
https://javasig.org/
*Laissez Les Bon Temps Rouler*
Reply | Threaded
Open this post in threaded view
|

Re: [TOMEE-2287] Histogram Prometheus Output

ivanjunckes
You need to have your own fork. If you don't have it, just go to the
apache/tomee address and click "Fork".

After that you need to add another remote branch.

git remote add <remote-name> <remote-address>

For example:
git remote add ivan https://github.com/ivanjunckes/tomee.git

Or if you use a ssh key:
git remote add ivan [hidden email]:ivanjunckes/tomee.git

They you will do this command to push:
git push <remote-name> <branch-name>

Replacing the variables would be something like:
git push ivan branch_test

On Sun, Dec 2, 2018 at 5:30 PM Michael Redlich <[hidden email]> wrote:

> Hi Ivan:
>
> I just tried to push a new branch to the tomee git repository.  When I
> executed *git push <remote_name> <branch_name>*, I used my own GitHub
> account for authentication, but knowing that it might fail anyway, I
> received the following message:
>
> *Username for 'https://github.com <https://github.com>': mpredli01*
> *Password for 'https://mpredli01@...
> <https://mpredli01@...>':*
> *remote: Permission to apache/tomee.git denied to mpredli01.*
> *fatal: unable to access 'https://github.com/apache/tomee.git/
> <https://github.com/apache/tomee.git/>': The requested URL returned error:
> 403*
>
> I assume I would need my own authentication to the tomee git repository?
> Please advise on how to proceed.  Thanks!
>
> Mike.
>
>
>
>
> On Thu, Nov 29, 2018 at 6:41 AM Ivan Junckes Filho <[hidden email]>
> wrote:
>
>> Hi Michael,
>>
>> These are some commands that may help you.
>>
>> #Create a branch from master
>> git checkout -b <branch-name>
>>
>> #List the remotes you have
>> git remote -v
>>
>> #Create a new remote
>> git remote add <remote-name> <remote-url>
>>
>> #Push to the remote branch
>> git push <remote-name> <branch-name>
>>
>>
>>
>> On Thu, Nov 29, 2018 at 8:25 AM Michael Redlich <[hidden email]>
>> wrote:
>>
>>> Hi Romain:
>>>
>>> Thanks for all the background information on this!  I certainly
>>> appreciate
>>> it.
>>>
>>> Mike.
>>>
>>> On Wed, Nov 28, 2018 at 10:47 AM Romain Manni-Bucau <
>>> [hidden email]>
>>> wrote:
>>>
>>> > Hello Michael,
>>> >
>>> > in prometheus, histograms are not represented directly like their class
>>> > and the prometheus representation is done through an endpoint and not a
>>> > body writer as per microprofile spec - can likely be enhanced but it
>>> is not
>>> > needed today since you rarely want a single metrics in the output (see
>>> >
>>> https://github.com/apache/geronimo-metrics/blob/master/geronimo-metrics-common/src/main/java/org/apache/geronimo/microprofile/metrics/common/prometheus/PrometheusFormatter.java#L140
>>> > for an impl)
>>> >
>>> > Now, geronimo-metrics provides for you the prometheus endpoints so you
>>> > don't need to implement it on your side, did you set the system
>>> property geronimo.metrics.jaxrs.activated=true
>>> > ?
>>> >
>>> > Romain Manni-Bucau
>>> > @rmannibucau <https://twitter.com/rmannibucau> |  Blog
>>> > <https://rmannibucau.metawerx.net/> | Old Blog
>>> > <http://rmannibucau.wordpress.com> | Github
>>> > <https://github.com/rmannibucau> | LinkedIn
>>> > <https://www.linkedin.com/in/rmannibucau> | Book
>>> > <
>>> https://www.packtpub.com/application-development/java-ee-8-high-performance
>>> >
>>> >
>>> >
>>> > Le mer. 28 nov. 2018 à 16:43, Ivan Junckes Filho <
>>> [hidden email]>
>>> > a écrit :
>>> >
>>> >> Hi Michael, could you please push it to a remote branch so I can take
>>> a
>>> >> look?
>>> >>
>>> >> On Wed, Nov 28, 2018 at 1:26 PM Michael Redlich <[hidden email]>
>>> >> wrote:
>>> >>
>>> >> > Hello everyone:
>>> >> >
>>> >> > I am making progress implementing a Metrics Histogram example.
>>> Please
>>> >> see
>>> >> > the following code:
>>> >> >
>>> >> > @Path("/histogram")
>>> >> > @GET
>>> >> > @Produces(MediaType.TEXT_PLAIN)
>>> >> > // @Produces(MediaType.APPLICATION_JSON)
>>> >> > public Histogram histogramStatus() {
>>> >> >     Metadata metadata = new Metadata("items", MetricType.HISTOGRAM,
>>> >> > "degrees F");
>>> >> >     metadata.setDescription("A histogram of recent temperatures.");
>>> >> >     Histogram temps = metrics.histogram(metadata);
>>> >> >     for(int temp = 80; temp < 100; ++temp) {
>>> >> >         temps.update(temp);
>>> >> >     }
>>> >> >     return temps;
>>> >> > }
>>> >> >
>>> >> >
>>> >> > In APPLICATION_JSON mode (commented), the output is as expected.
>>> >> However,
>>> >> > in TEXT_MODE, I get the following message:
>>> >> >
>>> >> > No message body writer has been found for class
>>> >> > org.apache.geronimo.microprofile.metrics.impl.HistogramImpl,
>>> >> > ContentType: text/plain
>>> >> >
>>> >> > I haven't been able to find a way to correct this, especially since
>>> the
>>> >> > Counter Metric didn't require a body writer.
>>> >> >
>>> >> > I would appreciate any help.  Thanks!
>>> >> >
>>> >> > Mike.
>>> >> >
>>> >> > --
>>> >> > *Code*, *Write*, *Cycle*, *Run*, *Drink*,
>>> >> > *Sleep ... Repeat*
>>> >> >
>>> >> > *InfoQ <https://www.infoq.com/> Java Queue Editor*
>>> >> > https://about.me/mpredli <http://about.me/mpredli/>
>>> >> > https://twitter.com/mpredli
>>> >> > https://redlich.net/
>>> >> > https://javasig.org/
>>> >> > *Laissez Les Bon Temps Rouler*
>>> >> >
>>> >>
>>> >
>>>
>>> --
>>> *Code*, *Write*, *Cycle*, *Run*, *Drink*,
>>> *Sleep ... Repeat*
>>>
>>> *InfoQ <https://www.infoq.com/> Java Queue Editor*
>>> https://about.me/mpredli <http://about.me/mpredli/>
>>> https://twitter.com/mpredli
>>> https://redlich.net/
>>> https://javasig.org/
>>> *Laissez Les Bon Temps Rouler*
>>>
>>
>
> --
> *Code*, *Write*, *Cycle*, *Run*, *Drink*,
> *Sleep ... Repeat*
>
> *InfoQ <https://www.infoq.com/> Java Queue Editor*
> https://about.me/mpredli <http://about.me/mpredli/>
> https://twitter.com/mpredli
> https://redlich.net/
> https://javasig.org/
> *Laissez Les Bon Temps Rouler*
>
Reply | Threaded
Open this post in threaded view
|

Re: [TOMEE-2287] Histogram Prometheus Output

Michael Redlich
Hi Ivan:

Ah, OK, cool.  I will indeed do that.

Since I’m new to the open-source community, I would appreciate knowing how
I would use the forked TomEE repository on my own Github account relative
to the repository I cloned on my local machine.

I appreciate everyone’s patience as I get myself established!

Mike.


On Mon, Dec 3, 2018 at 5:50 AM Ivan Junckes Filho <[hidden email]>
wrote:

> You need to have your own fork. If you don't have it, just go to the
> apache/tomee address and click "Fork".
>
> After that you need to add another remote branch.
>
> git remote add <remote-name> <remote-address>
>
> For example:
> git remote add ivan https://github.com/ivanjunckes/tomee.git
>
> Or if you use a ssh key:
> git remote add ivan [hidden email]:ivanjunckes/tomee.git
>
> They you will do this command to push:
> git push <remote-name> <branch-name>
>
> Replacing the variables would be something like:
> git push ivan branch_test
>
> On Sun, Dec 2, 2018 at 5:30 PM Michael Redlich <[hidden email]> wrote:
>
>> Hi Ivan:
>>
>> I just tried to push a new branch to the tomee git repository.  When I
>> executed *git push <remote_name> <branch_name>*, I used my own GitHub
>> account for authentication, but knowing that it might fail anyway, I
>> received the following message:
>>
>> *Username for 'https://github.com <https://github.com>': mpredli01*
>> *Password for 'https://mpredli01@...
>> <https://mpredli01@...>':*
>> *remote: Permission to apache/tomee.git denied to mpredli01.*
>> *fatal: unable to access 'https://github.com/apache/tomee.git/
>> <https://github.com/apache/tomee.git/>': The requested URL returned error:
>> 403*
>>
>> I assume I would need my own authentication to the tomee git repository?
>> Please advise on how to proceed.  Thanks!
>>
>> Mike.
>>
>>
>>
>>
>> On Thu, Nov 29, 2018 at 6:41 AM Ivan Junckes Filho <[hidden email]>
>> wrote:
>>
>>> Hi Michael,
>>>
>>> These are some commands that may help you.
>>>
>>> #Create a branch from master
>>> git checkout -b <branch-name>
>>>
>>> #List the remotes you have
>>> git remote -v
>>>
>>> #Create a new remote
>>> git remote add <remote-name> <remote-url>
>>>
>>> #Push to the remote branch
>>> git push <remote-name> <branch-name>
>>>
>>>
>>>
>>> On Thu, Nov 29, 2018 at 8:25 AM Michael Redlich <[hidden email]>
>>> wrote:
>>>
>>>> Hi Romain:
>>>>
>>>> Thanks for all the background information on this!  I certainly
>>>> appreciate
>>>> it.
>>>>
>>>> Mike.
>>>>
>>>> On Wed, Nov 28, 2018 at 10:47 AM Romain Manni-Bucau <
>>>> [hidden email]>
>>>> wrote:
>>>>
>>>> > Hello Michael,
>>>> >
>>>> > in prometheus, histograms are not represented directly like their
>>>> class
>>>> > and the prometheus representation is done through an endpoint and not
>>>> a
>>>> > body writer as per microprofile spec - can likely be enhanced but it
>>>> is not
>>>> > needed today since you rarely want a single metrics in the output (see
>>>> >
>>>> https://github.com/apache/geronimo-metrics/blob/master/geronimo-metrics-common/src/main/java/org/apache/geronimo/microprofile/metrics/common/prometheus/PrometheusFormatter.java#L140
>>>> > for an impl)
>>>> >
>>>> > Now, geronimo-metrics provides for you the prometheus endpoints so you
>>>> > don't need to implement it on your side, did you set the system
>>>> property geronimo.metrics.jaxrs.activated=true
>>>> > ?
>>>> >
>>>> > Romain Manni-Bucau
>>>> > @rmannibucau <https://twitter.com/rmannibucau> |  Blog
>>>> > <https://rmannibucau.metawerx.net/> | Old Blog
>>>> > <http://rmannibucau.wordpress.com> | Github
>>>> > <https://github.com/rmannibucau> | LinkedIn
>>>> > <https://www.linkedin.com/in/rmannibucau> | Book
>>>> > <
>>>> https://www.packtpub.com/application-development/java-ee-8-high-performance
>>>> >
>>>> >
>>>> >
>>>> > Le mer. 28 nov. 2018 à 16:43, Ivan Junckes Filho <
>>>> [hidden email]>
>>>> > a écrit :
>>>> >
>>>> >> Hi Michael, could you please push it to a remote branch so I can
>>>> take a
>>>> >> look?
>>>> >>
>>>> >> On Wed, Nov 28, 2018 at 1:26 PM Michael Redlich <[hidden email]>
>>>> >> wrote:
>>>> >>
>>>> >> > Hello everyone:
>>>> >> >
>>>> >> > I am making progress implementing a Metrics Histogram example.
>>>> Please
>>>> >> see
>>>> >> > the following code:
>>>> >> >
>>>> >> > @Path("/histogram")
>>>> >> > @GET
>>>> >> > @Produces(MediaType.TEXT_PLAIN)
>>>> >> > // @Produces(MediaType.APPLICATION_JSON)
>>>> >> > public Histogram histogramStatus() {
>>>> >> >     Metadata metadata = new Metadata("items", MetricType.HISTOGRAM,
>>>> >> > "degrees F");
>>>> >> >     metadata.setDescription("A histogram of recent temperatures.");
>>>> >> >     Histogram temps = metrics.histogram(metadata);
>>>> >> >     for(int temp = 80; temp < 100; ++temp) {
>>>> >> >         temps.update(temp);
>>>> >> >     }
>>>> >> >     return temps;
>>>> >> > }
>>>> >> >
>>>> >> >
>>>> >> > In APPLICATION_JSON mode (commented), the output is as expected.
>>>> >> However,
>>>> >> > in TEXT_MODE, I get the following message:
>>>> >> >
>>>> >> > No message body writer has been found for class
>>>> >> > org.apache.geronimo.microprofile.metrics.impl.HistogramImpl,
>>>> >> > ContentType: text/plain
>>>> >> >
>>>> >> > I haven't been able to find a way to correct this, especially
>>>> since the
>>>> >> > Counter Metric didn't require a body writer.
>>>> >> >
>>>> >> > I would appreciate any help.  Thanks!
>>>> >> >
>>>> >> > Mike.
>>>> >> >
>>>> >> > --
>>>> >> > *Code*, *Write*, *Cycle*, *Run*, *Drink*,
>>>> >> > *Sleep ... Repeat*
>>>> >> >
>>>> >> > *InfoQ <https://www.infoq.com/> Java Queue Editor*
>>>> >> > https://about.me/mpredli <http://about.me/mpredli/>
>>>> >> > https://twitter.com/mpredli
>>>> >> > https://redlich.net/
>>>> >> > https://javasig.org/
>>>> >> > *Laissez Les Bon Temps Rouler*
>>>> >> >
>>>> >>
>>>> >
>>>>
>>>> --
>>>> *Code*, *Write*, *Cycle*, *Run*, *Drink*,
>>>> *Sleep ... Repeat*
>>>>
>>>> *InfoQ <https://www.infoq.com/> Java Queue Editor*
>>>> https://about.me/mpredli <http://about.me/mpredli/>
>>>> https://twitter.com/mpredli
>>>> https://redlich.net/
>>>> https://javasig.org/
>>>> *Laissez Les Bon Temps Rouler*
>>>>
>>>
>>
>> --
>> *Code*, *Write*, *Cycle*, *Run*, *Drink*,
>> *Sleep ... Repeat*
>>
>> *InfoQ <https://www.infoq.com/> Java Queue Editor*
>> https://about.me/mpredli <http://about.me/mpredli/>
>> https://twitter.com/mpredli
>> https://redlich.net/
>> https://javasig.org/
>> *Laissez Les Bon Temps Rouler*
>>
> --
*Code*, *Write*, *Cycle*, *Run*, *Drink*,
*Sleep ... Repeat*

*InfoQ <https://www.infoq.com/> Java Queue Editor*
https://about.me/mpredli <http://about.me/mpredli/>
https://twitter.com/mpredli
https://redlich.net/
https://javasig.org/
*Laissez Les Bon Temps Rouler*
Reply | Threaded
Open this post in threaded view
|

Re: [TOMEE-2287] Histogram Prometheus Output

ivanjunckes
Hi Michael, I am not sure I understand you question.

If I get it right, the instructions were in my previous email.

Can you elaborate?

On Mon, Dec 3, 2018 at 11:07 AM Michael Redlich <[hidden email]> wrote:

> Hi Ivan:
>
> Ah, OK, cool.  I will indeed do that.
>
> Since I’m new to the open-source community, I would appreciate knowing how
> I would use the forked TomEE repository on my own Github account relative
> to the repository I cloned on my local machine.
>
> I appreciate everyone’s patience as I get myself established!
>
> Mike.
>
>
> On Mon, Dec 3, 2018 at 5:50 AM Ivan Junckes Filho <[hidden email]>
> wrote:
>
>> You need to have your own fork. If you don't have it, just go to the
>> apache/tomee address and click "Fork".
>>
>> After that you need to add another remote branch.
>>
>> git remote add <remote-name> <remote-address>
>>
>> For example:
>> git remote add ivan https://github.com/ivanjunckes/tomee.git
>>
>> Or if you use a ssh key:
>> git remote add ivan [hidden email]:ivanjunckes/tomee.git
>>
>> They you will do this command to push:
>> git push <remote-name> <branch-name>
>>
>> Replacing the variables would be something like:
>> git push ivan branch_test
>>
>> On Sun, Dec 2, 2018 at 5:30 PM Michael Redlich <[hidden email]> wrote:
>>
>>> Hi Ivan:
>>>
>>> I just tried to push a new branch to the tomee git repository.  When I
>>> executed *git push <remote_name> <branch_name>*, I used my own GitHub
>>> account for authentication, but knowing that it might fail anyway, I
>>> received the following message:
>>>
>>> *Username for 'https://github.com <https://github.com>': mpredli01*
>>> *Password for 'https://mpredli01@...
>>> <https://mpredli01@...>':*
>>> *remote: Permission to apache/tomee.git denied to mpredli01.*
>>> *fatal: unable to access 'https://github.com/apache/tomee.git/
>>> <https://github.com/apache/tomee.git/>': The requested URL returned error:
>>> 403*
>>>
>>> I assume I would need my own authentication to the tomee git
>>> repository?  Please advise on how to proceed.  Thanks!
>>>
>>> Mike.
>>>
>>>
>>>
>>>
>>> On Thu, Nov 29, 2018 at 6:41 AM Ivan Junckes Filho <
>>> [hidden email]> wrote:
>>>
>>>> Hi Michael,
>>>>
>>>> These are some commands that may help you.
>>>>
>>>> #Create a branch from master
>>>> git checkout -b <branch-name>
>>>>
>>>> #List the remotes you have
>>>> git remote -v
>>>>
>>>> #Create a new remote
>>>> git remote add <remote-name> <remote-url>
>>>>
>>>> #Push to the remote branch
>>>> git push <remote-name> <branch-name>
>>>>
>>>>
>>>>
>>>> On Thu, Nov 29, 2018 at 8:25 AM Michael Redlich <[hidden email]>
>>>> wrote:
>>>>
>>>>> Hi Romain:
>>>>>
>>>>> Thanks for all the background information on this!  I certainly
>>>>> appreciate
>>>>> it.
>>>>>
>>>>> Mike.
>>>>>
>>>>> On Wed, Nov 28, 2018 at 10:47 AM Romain Manni-Bucau <
>>>>> [hidden email]>
>>>>> wrote:
>>>>>
>>>>> > Hello Michael,
>>>>> >
>>>>> > in prometheus, histograms are not represented directly like their
>>>>> class
>>>>> > and the prometheus representation is done through an endpoint and
>>>>> not a
>>>>> > body writer as per microprofile spec - can likely be enhanced but it
>>>>> is not
>>>>> > needed today since you rarely want a single metrics in the output
>>>>> (see
>>>>> >
>>>>> https://github.com/apache/geronimo-metrics/blob/master/geronimo-metrics-common/src/main/java/org/apache/geronimo/microprofile/metrics/common/prometheus/PrometheusFormatter.java#L140
>>>>> > for an impl)
>>>>> >
>>>>> > Now, geronimo-metrics provides for you the prometheus endpoints so
>>>>> you
>>>>> > don't need to implement it on your side, did you set the system
>>>>> property geronimo.metrics.jaxrs.activated=true
>>>>> > ?
>>>>> >
>>>>> > Romain Manni-Bucau
>>>>> > @rmannibucau <https://twitter.com/rmannibucau> |  Blog
>>>>> > <https://rmannibucau.metawerx.net/> | Old Blog
>>>>> > <http://rmannibucau.wordpress.com> | Github
>>>>> > <https://github.com/rmannibucau> | LinkedIn
>>>>> > <https://www.linkedin.com/in/rmannibucau> | Book
>>>>> > <
>>>>> https://www.packtpub.com/application-development/java-ee-8-high-performance
>>>>> >
>>>>> >
>>>>> >
>>>>> > Le mer. 28 nov. 2018 à 16:43, Ivan Junckes Filho <
>>>>> [hidden email]>
>>>>> > a écrit :
>>>>> >
>>>>> >> Hi Michael, could you please push it to a remote branch so I can
>>>>> take a
>>>>> >> look?
>>>>> >>
>>>>> >> On Wed, Nov 28, 2018 at 1:26 PM Michael Redlich <[hidden email]>
>>>>> >> wrote:
>>>>> >>
>>>>> >> > Hello everyone:
>>>>> >> >
>>>>> >> > I am making progress implementing a Metrics Histogram example.
>>>>> Please
>>>>> >> see
>>>>> >> > the following code:
>>>>> >> >
>>>>> >> > @Path("/histogram")
>>>>> >> > @GET
>>>>> >> > @Produces(MediaType.TEXT_PLAIN)
>>>>> >> > // @Produces(MediaType.APPLICATION_JSON)
>>>>> >> > public Histogram histogramStatus() {
>>>>> >> >     Metadata metadata = new Metadata("items",
>>>>> MetricType.HISTOGRAM,
>>>>> >> > "degrees F");
>>>>> >> >     metadata.setDescription("A histogram of recent
>>>>> temperatures.");
>>>>> >> >     Histogram temps = metrics.histogram(metadata);
>>>>> >> >     for(int temp = 80; temp < 100; ++temp) {
>>>>> >> >         temps.update(temp);
>>>>> >> >     }
>>>>> >> >     return temps;
>>>>> >> > }
>>>>> >> >
>>>>> >> >
>>>>> >> > In APPLICATION_JSON mode (commented), the output is as expected.
>>>>> >> However,
>>>>> >> > in TEXT_MODE, I get the following message:
>>>>> >> >
>>>>> >> > No message body writer has been found for class
>>>>> >> > org.apache.geronimo.microprofile.metrics.impl.HistogramImpl,
>>>>> >> > ContentType: text/plain
>>>>> >> >
>>>>> >> > I haven't been able to find a way to correct this, especially
>>>>> since the
>>>>> >> > Counter Metric didn't require a body writer.
>>>>> >> >
>>>>> >> > I would appreciate any help.  Thanks!
>>>>> >> >
>>>>> >> > Mike.
>>>>> >> >
>>>>> >> > --
>>>>> >> > *Code*, *Write*, *Cycle*, *Run*, *Drink*,
>>>>> >> > *Sleep ... Repeat*
>>>>> >> >
>>>>> >> > *InfoQ <https://www.infoq.com/> Java Queue Editor*
>>>>> >> > https://about.me/mpredli <http://about.me/mpredli/>
>>>>> >> > https://twitter.com/mpredli
>>>>> >> > https://redlich.net/
>>>>> >> > https://javasig.org/
>>>>> >> > *Laissez Les Bon Temps Rouler*
>>>>> >> >
>>>>> >>
>>>>> >
>>>>>
>>>>> --
>>>>> *Code*, *Write*, *Cycle*, *Run*, *Drink*,
>>>>> *Sleep ... Repeat*
>>>>>
>>>>> *InfoQ <https://www.infoq.com/> Java Queue Editor*
>>>>> https://about.me/mpredli <http://about.me/mpredli/>
>>>>> https://twitter.com/mpredli
>>>>> https://redlich.net/
>>>>> https://javasig.org/
>>>>> *Laissez Les Bon Temps Rouler*
>>>>>
>>>>
>>>
>>> --
>>> *Code*, *Write*, *Cycle*, *Run*, *Drink*,
>>> *Sleep ... Repeat*
>>>
>>> *InfoQ <https://www.infoq.com/> Java Queue Editor*
>>> https://about.me/mpredli <http://about.me/mpredli/>
>>> https://twitter.com/mpredli
>>> https://redlich.net/
>>> https://javasig.org/
>>> *Laissez Les Bon Temps Rouler*
>>>
>> --
> *Code*, *Write*, *Cycle*, *Run*, *Drink*,
> *Sleep ... Repeat*
>
> *InfoQ <https://www.infoq.com/> Java Queue Editor*
> https://about.me/mpredli <http://about.me/mpredli/>
> https://twitter.com/mpredli
> https://redlich.net/
> https://javasig.org/
> *Laissez Les Bon Temps Rouler*
>
Reply | Threaded
Open this post in threaded view
|

Re: [TOMEE-2287] Histogram Prometheus Output

Richard Monson-Haefel
In reply to this post by Michael Redlich
Hi Michael,

I might be able to shed some light on this.  The process I've used is as
follows:

1. I go to the apache/TomEE git hub page and click on "Fork" (its a button
on the top right)
2. Select your own account and it will clone the entire TomEE repo to your
own account. On my its monsonhaefel/TomEE
3. Now clone your own copy to your local machine by creating a directory
for it and executing the clone command. You will need the URL for TomEE
repository on your own account. You can get that by going to your own TomEE
repo and clicking on the green "Clone or Download" button and copying the
URL. Once you have the URL you can make a clone using the git clone
command. In my case it looks as follows:
    $ git clone https://github.com/monsonhaefel/tomee.git
4. Once you have the TomEE repo from your own account on your local
machine, you can make changes to any file and the stage it and commit it
when ready.  Basically, you need two commands to commit changes.  The first
command simply tells git that files that have been changes need to be
"staged" for commit.
    $ git add .    //note: if you only want to stage one file replace the
period with the file name (including path if you are not in the same
directory as that file) otherwise the period stages all the files that have
changed.
Once you have staged the file you can commit as follows:
    $ git commit -m "This is where you write your comment explaining your
changes"
5. Now that you have committed your changes to your local machine you can
push them up to your GitHub account and update your personal copy of
TomEE.  But before you do that its important to make sure your changes
don't conflict with someone else's changes by doing a pull from the
original source at the apache/TomEE.  That way if someone else changes the
same file but got it into the repo before you, you won't overwrite their
changes. This is a conflict. When you get a conflict you will see a warning
and can work on a merge which is a whole 'nother topic not covered here. I
have yet to run into a conflict.  Here is the pull command to check for
conflicts:
   $ git pull origin https://github.com/apache/tomee.git
Notice that I did the pull on the actual TomEE project repository, not my
local one.
6. Assuming all went well and you did not get any warnings about a conflict
you can now push your changes up to your own GitHub account with the
following Git command
   $ git push
7. Once you have pushed the code up to your GitHub account you can proceed
to make a Pull Request.  Just go to your GitHub account and your own TomEE
page and click on tab named "Pull Request". It will identify the changes
you made and allow you to title and describe your changes. When you save
the pull request it will automatically go into the apache/TomEE project for
others to review and, if your changes are accepted, commit to the main
project.


I've left out some details as I trying to do this on the fly. Also, its
entirely possible I made some mistakes, but I think the process above
should get you there.



On Mon, Dec 3, 2018 at 7:07 AM Michael Redlich <[hidden email]> wrote:

> Hi Ivan:
>
> Ah, OK, cool.  I will indeed do that.
>
> Since I’m new to the open-source community, I would appreciate knowing how
> I would use the forked TomEE repository on my own Github account relative
> to the repository I cloned on my local machine.
>
> I appreciate everyone’s patience as I get myself established!
>
> Mike.
>
>
> On Mon, Dec 3, 2018 at 5:50 AM Ivan Junckes Filho <[hidden email]>
> wrote:
>
> > You need to have your own fork. If you don't have it, just go to the
> > apache/tomee address and click "Fork".
> >
> > After that you need to add another remote branch.
> >
> > git remote add <remote-name> <remote-address>
> >
> > For example:
> > git remote add ivan https://github.com/ivanjunckes/tomee.git
> >
> > Or if you use a ssh key:
> > git remote add ivan [hidden email]:ivanjunckes/tomee.git
> >
> > They you will do this command to push:
> > git push <remote-name> <branch-name>
> >
> > Replacing the variables would be something like:
> > git push ivan branch_test
> >
> > On Sun, Dec 2, 2018 at 5:30 PM Michael Redlich <[hidden email]>
> wrote:
> >
> >> Hi Ivan:
> >>
> >> I just tried to push a new branch to the tomee git repository.  When I
> >> executed *git push <remote_name> <branch_name>*, I used my own GitHub
> >> account for authentication, but knowing that it might fail anyway, I
> >> received the following message:
> >>
> >> *Username for 'https://github.com <https://github.com>': mpredli01*
> >> *Password for 'https://mpredli01@...
> >> <https://mpredli01@...>':*
> >> *remote: Permission to apache/tomee.git denied to mpredli01.*
> >> *fatal: unable to access 'https://github.com/apache/tomee.git/
> >> <https://github.com/apache/tomee.git/>': The requested URL returned
> error:
> >> 403*
> >>
> >> I assume I would need my own authentication to the tomee git repository?
> >> Please advise on how to proceed.  Thanks!
> >>
> >> Mike.
> >>
> >>
> >>
> >>
> >> On Thu, Nov 29, 2018 at 6:41 AM Ivan Junckes Filho <
> [hidden email]>
> >> wrote:
> >>
> >>> Hi Michael,
> >>>
> >>> These are some commands that may help you.
> >>>
> >>> #Create a branch from master
> >>> git checkout -b <branch-name>
> >>>
> >>> #List the remotes you have
> >>> git remote -v
> >>>
> >>> #Create a new remote
> >>> git remote add <remote-name> <remote-url>
> >>>
> >>> #Push to the remote branch
> >>> git push <remote-name> <branch-name>
> >>>
> >>>
> >>>
> >>> On Thu, Nov 29, 2018 at 8:25 AM Michael Redlich <[hidden email]>
> >>> wrote:
> >>>
> >>>> Hi Romain:
> >>>>
> >>>> Thanks for all the background information on this!  I certainly
> >>>> appreciate
> >>>> it.
> >>>>
> >>>> Mike.
> >>>>
> >>>> On Wed, Nov 28, 2018 at 10:47 AM Romain Manni-Bucau <
> >>>> [hidden email]>
> >>>> wrote:
> >>>>
> >>>> > Hello Michael,
> >>>> >
> >>>> > in prometheus, histograms are not represented directly like their
> >>>> class
> >>>> > and the prometheus representation is done through an endpoint and
> not
> >>>> a
> >>>> > body writer as per microprofile spec - can likely be enhanced but it
> >>>> is not
> >>>> > needed today since you rarely want a single metrics in the output
> (see
> >>>> >
> >>>>
> https://github.com/apache/geronimo-metrics/blob/master/geronimo-metrics-common/src/main/java/org/apache/geronimo/microprofile/metrics/common/prometheus/PrometheusFormatter.java#L140
> >>>> > for an impl)
> >>>> >
> >>>> > Now, geronimo-metrics provides for you the prometheus endpoints so
> you
> >>>> > don't need to implement it on your side, did you set the system
> >>>> property geronimo.metrics.jaxrs.activated=true
> >>>> > ?
> >>>> >
> >>>> > Romain Manni-Bucau
> >>>> > @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> >>>> > <https://rmannibucau.metawerx.net/> | Old Blog
> >>>> > <http://rmannibucau.wordpress.com> | Github
> >>>> > <https://github.com/rmannibucau> | LinkedIn
> >>>> > <https://www.linkedin.com/in/rmannibucau> | Book
> >>>> > <
> >>>>
> https://www.packtpub.com/application-development/java-ee-8-high-performance
> >>>> >
> >>>> >
> >>>> >
> >>>> > Le mer. 28 nov. 2018 à 16:43, Ivan Junckes Filho <
> >>>> [hidden email]>
> >>>> > a écrit :
> >>>> >
> >>>> >> Hi Michael, could you please push it to a remote branch so I can
> >>>> take a
> >>>> >> look?
> >>>> >>
> >>>> >> On Wed, Nov 28, 2018 at 1:26 PM Michael Redlich <[hidden email]
> >
> >>>> >> wrote:
> >>>> >>
> >>>> >> > Hello everyone:
> >>>> >> >
> >>>> >> > I am making progress implementing a Metrics Histogram example.
> >>>> Please
> >>>> >> see
> >>>> >> > the following code:
> >>>> >> >
> >>>> >> > @Path("/histogram")
> >>>> >> > @GET
> >>>> >> > @Produces(MediaType.TEXT_PLAIN)
> >>>> >> > // @Produces(MediaType.APPLICATION_JSON)
> >>>> >> > public Histogram histogramStatus() {
> >>>> >> >     Metadata metadata = new Metadata("items",
> MetricType.HISTOGRAM,
> >>>> >> > "degrees F");
> >>>> >> >     metadata.setDescription("A histogram of recent
> temperatures.");
> >>>> >> >     Histogram temps = metrics.histogram(metadata);
> >>>> >> >     for(int temp = 80; temp < 100; ++temp) {
> >>>> >> >         temps.update(temp);
> >>>> >> >     }
> >>>> >> >     return temps;
> >>>> >> > }
> >>>> >> >
> >>>> >> >
> >>>> >> > In APPLICATION_JSON mode (commented), the output is as expected.
> >>>> >> However,
> >>>> >> > in TEXT_MODE, I get the following message:
> >>>> >> >
> >>>> >> > No message body writer has been found for class
> >>>> >> > org.apache.geronimo.microprofile.metrics.impl.HistogramImpl,
> >>>> >> > ContentType: text/plain
> >>>> >> >
> >>>> >> > I haven't been able to find a way to correct this, especially
> >>>> since the
> >>>> >> > Counter Metric didn't require a body writer.
> >>>> >> >
> >>>> >> > I would appreciate any help.  Thanks!
> >>>> >> >
> >>>> >> > Mike.
> >>>> >> >
> >>>> >> > --
> >>>> >> > *Code*, *Write*, *Cycle*, *Run*, *Drink*,
> >>>> >> > *Sleep ... Repeat*
> >>>> >> >
> >>>> >> > *InfoQ <https://www.infoq.com/> Java Queue Editor*
> >>>> >> > https://about.me/mpredli <http://about.me/mpredli/>
> >>>> >> > https://twitter.com/mpredli
> >>>> >> > https://redlich.net/
> >>>> >> > https://javasig.org/
> >>>> >> > *Laissez Les Bon Temps Rouler*
> >>>> >> >
> >>>> >>
> >>>> >
> >>>>
> >>>> --
> >>>> *Code*, *Write*, *Cycle*, *Run*, *Drink*,
> >>>> *Sleep ... Repeat*
> >>>>
> >>>> *InfoQ <https://www.infoq.com/> Java Queue Editor*
> >>>> https://about.me/mpredli <http://about.me/mpredli/>
> >>>> https://twitter.com/mpredli
> >>>> https://redlich.net/
> >>>> https://javasig.org/
> >>>> *Laissez Les Bon Temps Rouler*
> >>>>
> >>>
> >>
> >> --
> >> *Code*, *Write*, *Cycle*, *Run*, *Drink*,
> >> *Sleep ... Repeat*
> >>
> >> *InfoQ <https://www.infoq.com/> Java Queue Editor*
> >> https://about.me/mpredli <http://about.me/mpredli/>
> >> https://twitter.com/mpredli
> >> https://redlich.net/
> >> https://javasig.org/
> >> *Laissez Les Bon Temps Rouler*
> >>
> > --
> *Code*, *Write*, *Cycle*, *Run*, *Drink*,
> *Sleep ... Repeat*
>
> *InfoQ <https://www.infoq.com/> Java Queue Editor*
> https://about.me/mpredli <http://about.me/mpredli/>
> https://twitter.com/mpredli
> https://redlich.net/
> https://javasig.org/
> *Laissez Les Bon Temps Rouler*
>


--
Richard Monson-Haefel
https://twitter.com/rmonson
https://www.linkedin.com/in/monsonhaefel/
Reply | Threaded
Open this post in threaded view
|

Re: [TOMEE-2287] Histogram Prometheus Output

Michael Redlich
Hi Richard:

Thanks for taking the time to outline the process.  I certainly appreciate
it!  My use of git has been somewhat limited to working on my own
repositories.

Now it makes sense.  I originally cloned the *tomitribe\tomee* repository
and started making my changes to add the Histogram example.  My confusion
was how the relationship between the *tomitribe\tomee* repository and my
own forked version of it.

I will reconstruct everything on my MacBook Pro and continue my work.

Best regards,

Mike.



On Mon, Dec 3, 2018 at 8:47 AM Richard Monson-Haefel <[hidden email]>
wrote:

> Hi Michael,
>
> I might be able to shed some light on this.  The process I've used is as
> follows:
>
> 1. I go to the apache/TomEE git hub page and click on "Fork" (its a button
> on the top right)
> 2. Select your own account and it will clone the entire TomEE repo to your
> own account. On my its monsonhaefel/TomEE
> 3. Now clone your own copy to your local machine by creating a directory
> for it and executing the clone command. You will need the URL for TomEE
> repository on your own account. You can get that by going to your own TomEE
> repo and clicking on the green "Clone or Download" button and copying the
> URL. Once you have the URL you can make a clone using the git clone
> command. In my case it looks as follows:
>     $ git clone https://github.com/monsonhaefel/tomee.git
> 4. Once you have the TomEE repo from your own account on your local
> machine, you can make changes to any file and the stage it and commit it
> when ready.  Basically, you need two commands to commit changes.  The first
> command simply tells git that files that have been changes need to be
> "staged" for commit.
>     $ git add .    //note: if you only want to stage one file replace the
> period with the file name (including path if you are not in the same
> directory as that file) otherwise the period stages all the files that have
> changed.
> Once you have staged the file you can commit as follows:
>     $ git commit -m "This is where you write your comment explaining your
> changes"
> 5. Now that you have committed your changes to your local machine you can
> push them up to your GitHub account and update your personal copy of
> TomEE.  But before you do that its important to make sure your changes
> don't conflict with someone else's changes by doing a pull from the
> original source at the apache/TomEE.  That way if someone else changes the
> same file but got it into the repo before you, you won't overwrite their
> changes. This is a conflict. When you get a conflict you will see a warning
> and can work on a merge which is a whole 'nother topic not covered here. I
> have yet to run into a conflict.  Here is the pull command to check for
> conflicts:
>    $ git pull origin https://github.com/apache/tomee.git
> Notice that I did the pull on the actual TomEE project repository, not my
> local one.
> 6. Assuming all went well and you did not get any warnings about a
> conflict you can now push your changes up to your own GitHub account with
> the following Git command
>    $ git push
> 7. Once you have pushed the code up to your GitHub account you can proceed
> to make a Pull Request.  Just go to your GitHub account and your own TomEE
> page and click on tab named "Pull Request". It will identify the changes
> you made and allow you to title and describe your changes. When you save
> the pull request it will automatically go into the apache/TomEE project for
> others to review and, if your changes are accepted, commit to the main
> project.
>
>
> I've left out some details as I trying to do this on the fly. Also, its
> entirely possible I made some mistakes, but I think the process above
> should get you there.
>
>
>
> On Mon, Dec 3, 2018 at 7:07 AM Michael Redlich <[hidden email]> wrote:
>
>> Hi Ivan:
>>
>> Ah, OK, cool.  I will indeed do that.
>>
>> Since I’m new to the open-source community, I would appreciate knowing how
>> I would use the forked TomEE repository on my own Github account relative
>> to the repository I cloned on my local machine.
>>
>> I appreciate everyone’s patience as I get myself established!
>>
>> Mike.
>>
>>
>> On Mon, Dec 3, 2018 at 5:50 AM Ivan Junckes Filho <[hidden email]>
>> wrote:
>>
>> > You need to have your own fork. If you don't have it, just go to the
>> > apache/tomee address and click "Fork".
>> >
>> > After that you need to add another remote branch.
>> >
>> > git remote add <remote-name> <remote-address>
>> >
>> > For example:
>> > git remote add ivan https://github.com/ivanjunckes/tomee.git
>> >
>> > Or if you use a ssh key:
>> > git remote add ivan [hidden email]:ivanjunckes/tomee.git
>> >
>> > They you will do this command to push:
>> > git push <remote-name> <branch-name>
>> >
>> > Replacing the variables would be something like:
>> > git push ivan branch_test
>> >
>> > On Sun, Dec 2, 2018 at 5:30 PM Michael Redlich <[hidden email]>
>> wrote:
>> >
>> >> Hi Ivan:
>> >>
>> >> I just tried to push a new branch to the tomee git repository.  When I
>> >> executed *git push <remote_name> <branch_name>*, I used my own GitHub
>> >> account for authentication, but knowing that it might fail anyway, I
>> >> received the following message:
>> >>
>> >> *Username for 'https://github.com <https://github.com>': mpredli01*
>> >> *Password for 'https://mpredli01@...
>> >> <https://mpredli01@...>':*
>> >> *remote: Permission to apache/tomee.git denied to mpredli01.*
>> >> *fatal: unable to access 'https://github.com/apache/tomee.git/
>> >> <https://github.com/apache/tomee.git/>': The requested URL returned
>> error:
>> >> 403*
>> >>
>> >> I assume I would need my own authentication to the tomee git
>> repository?
>> >> Please advise on how to proceed.  Thanks!
>> >>
>> >> Mike.
>> >>
>> >>
>> >>
>> >>
>> >> On Thu, Nov 29, 2018 at 6:41 AM Ivan Junckes Filho <
>> [hidden email]>
>> >> wrote:
>> >>
>> >>> Hi Michael,
>> >>>
>> >>> These are some commands that may help you.
>> >>>
>> >>> #Create a branch from master
>> >>> git checkout -b <branch-name>
>> >>>
>> >>> #List the remotes you have
>> >>> git remote -v
>> >>>
>> >>> #Create a new remote
>> >>> git remote add <remote-name> <remote-url>
>> >>>
>> >>> #Push to the remote branch
>> >>> git push <remote-name> <branch-name>
>> >>>
>> >>>
>> >>>
>> >>> On Thu, Nov 29, 2018 at 8:25 AM Michael Redlich <[hidden email]>
>> >>> wrote:
>> >>>
>> >>>> Hi Romain:
>> >>>>
>> >>>> Thanks for all the background information on this!  I certainly
>> >>>> appreciate
>> >>>> it.
>> >>>>
>> >>>> Mike.
>> >>>>
>> >>>> On Wed, Nov 28, 2018 at 10:47 AM Romain Manni-Bucau <
>> >>>> [hidden email]>
>> >>>> wrote:
>> >>>>
>> >>>> > Hello Michael,
>> >>>> >
>> >>>> > in prometheus, histograms are not represented directly like their
>> >>>> class
>> >>>> > and the prometheus representation is done through an endpoint and
>> not
>> >>>> a
>> >>>> > body writer as per microprofile spec - can likely be enhanced but
>> it
>> >>>> is not
>> >>>> > needed today since you rarely want a single metrics in the output
>> (see
>> >>>> >
>> >>>>
>> https://github.com/apache/geronimo-metrics/blob/master/geronimo-metrics-common/src/main/java/org/apache/geronimo/microprofile/metrics/common/prometheus/PrometheusFormatter.java#L140
>> >>>> > for an impl)
>> >>>> >
>> >>>> > Now, geronimo-metrics provides for you the prometheus endpoints so
>> you
>> >>>> > don't need to implement it on your side, did you set the system
>> >>>> property geronimo.metrics.jaxrs.activated=true
>> >>>> > ?
>> >>>> >
>> >>>> > Romain Manni-Bucau
>> >>>> > @rmannibucau <https://twitter.com/rmannibucau> |  Blog
>> >>>> > <https://rmannibucau.metawerx.net/> | Old Blog
>> >>>> > <http://rmannibucau.wordpress.com> | Github
>> >>>> > <https://github.com/rmannibucau> | LinkedIn
>> >>>> > <https://www.linkedin.com/in/rmannibucau> | Book
>> >>>> > <
>> >>>>
>> https://www.packtpub.com/application-development/java-ee-8-high-performance
>> >>>> >
>> >>>> >
>> >>>> >
>> >>>> > Le mer. 28 nov. 2018 à 16:43, Ivan Junckes Filho <
>> >>>> [hidden email]>
>> >>>> > a écrit :
>> >>>> >
>> >>>> >> Hi Michael, could you please push it to a remote branch so I can
>> >>>> take a
>> >>>> >> look?
>> >>>> >>
>> >>>> >> On Wed, Nov 28, 2018 at 1:26 PM Michael Redlich <
>> [hidden email]>
>> >>>> >> wrote:
>> >>>> >>
>> >>>> >> > Hello everyone:
>> >>>> >> >
>> >>>> >> > I am making progress implementing a Metrics Histogram example.
>> >>>> Please
>> >>>> >> see
>> >>>> >> > the following code:
>> >>>> >> >
>> >>>> >> > @Path("/histogram")
>> >>>> >> > @GET
>> >>>> >> > @Produces(MediaType.TEXT_PLAIN)
>> >>>> >> > // @Produces(MediaType.APPLICATION_JSON)
>> >>>> >> > public Histogram histogramStatus() {
>> >>>> >> >     Metadata metadata = new Metadata("items",
>> MetricType.HISTOGRAM,
>> >>>> >> > "degrees F");
>> >>>> >> >     metadata.setDescription("A histogram of recent
>> temperatures.");
>> >>>> >> >     Histogram temps = metrics.histogram(metadata);
>> >>>> >> >     for(int temp = 80; temp < 100; ++temp) {
>> >>>> >> >         temps.update(temp);
>> >>>> >> >     }
>> >>>> >> >     return temps;
>> >>>> >> > }
>> >>>> >> >
>> >>>> >> >
>> >>>> >> > In APPLICATION_JSON mode (commented), the output is as expected.
>> >>>> >> However,
>> >>>> >> > in TEXT_MODE, I get the following message:
>> >>>> >> >
>> >>>> >> > No message body writer has been found for class
>> >>>> >> > org.apache.geronimo.microprofile.metrics.impl.HistogramImpl,
>> >>>> >> > ContentType: text/plain
>> >>>> >> >
>> >>>> >> > I haven't been able to find a way to correct this, especially
>> >>>> since the
>> >>>> >> > Counter Metric didn't require a body writer.
>> >>>> >> >
>> >>>> >> > I would appreciate any help.  Thanks!
>> >>>> >> >
>> >>>> >> > Mike.
>> >>>> >> >
>> >>>> >> > --
>> >>>> >> > *Code*, *Write*, *Cycle*, *Run*, *Drink*,
>> >>>> >> > *Sleep ... Repeat*
>> >>>> >> >
>> >>>> >> > *InfoQ <https://www.infoq.com/> Java Queue Editor*
>> >>>> >> > https://about.me/mpredli <http://about.me/mpredli/>
>> >>>> >> > https://twitter.com/mpredli
>> >>>> >> > https://redlich.net/
>> >>>> >> > https://javasig.org/
>> >>>> >> > *Laissez Les Bon Temps Rouler*
>> >>>> >> >
>> >>>> >>
>> >>>> >
>> >>>>
>> >>>> --
>> >>>> *Code*, *Write*, *Cycle*, *Run*, *Drink*,
>> >>>> *Sleep ... Repeat*
>> >>>>
>> >>>> *InfoQ <https://www.infoq.com/> Java Queue Editor*
>> >>>> https://about.me/mpredli <http://about.me/mpredli/>
>> >>>> https://twitter.com/mpredli
>> >>>> https://redlich.net/
>> >>>> https://javasig.org/
>> >>>> *Laissez Les Bon Temps Rouler*
>> >>>>
>> >>>
>> >>
>> >> --
>> >> *Code*, *Write*, *Cycle*, *Run*, *Drink*,
>> >> *Sleep ... Repeat*
>> >>
>> >> *InfoQ <https://www.infoq.com/> Java Queue Editor*
>> >> https://about.me/mpredli <http://about.me/mpredli/>
>> >> https://twitter.com/mpredli
>> >> https://redlich.net/
>> >> https://javasig.org/
>> >> *Laissez Les Bon Temps Rouler*
>> >>
>> > --
>> *Code*, *Write*, *Cycle*, *Run*, *Drink*,
>> *Sleep ... Repeat*
>>
>> *InfoQ <https://www.infoq.com/> Java Queue Editor*
>> https://about.me/mpredli <http://about.me/mpredli/>
>> https://twitter.com/mpredli
>> https://redlich.net/
>> https://javasig.org/
>> *Laissez Les Bon Temps Rouler*
>>
>
>
> --
> Richard Monson-Haefel
> https://twitter.com/rmonson
> https://www.linkedin.com/in/monsonhaefel/
>


--
*Code*, *Write*, *Cycle*, *Run*, *Drink*,
*Sleep ... Repeat*

*InfoQ <https://www.infoq.com/> Java Queue Editor*
https://about.me/mpredli <http://about.me/mpredli/>
https://twitter.com/mpredli
https://redlich.net/
https://javasig.org/
*Laissez Les Bon Temps Rouler*
Reply | Threaded
Open this post in threaded view
|

Re: [TOMEE-2287] Histogram Prometheus Output

Michael Redlich
In reply to this post by ivanjunckes
Thanks, Ivan!

As you may have already seen, Richard explained everything to me!

Mike.


On Mon, Dec 3, 2018 at 8:20 AM Ivan Junckes Filho <[hidden email]>
wrote:

> Hi Michael, I am not sure I understand you question.
>
> If I get it right, the instructions were in my previous email.
>
> Can you elaborate?
>
> On Mon, Dec 3, 2018 at 11:07 AM Michael Redlich <[hidden email]> wrote:
>
>> Hi Ivan:
>>
>> Ah, OK, cool.  I will indeed do that.
>>
>> Since I’m new to the open-source community, I would appreciate knowing
>> how I would use the forked TomEE repository on my own Github account
>> relative to the repository I cloned on my local machine.
>>
>> I appreciate everyone’s patience as I get myself established!
>>
>> Mike.
>>
>>
>> On Mon, Dec 3, 2018 at 5:50 AM Ivan Junckes Filho <[hidden email]>
>> wrote:
>>
>>> You need to have your own fork. If you don't have it, just go to the
>>> apache/tomee address and click "Fork".
>>>
>>> After that you need to add another remote branch.
>>>
>>> git remote add <remote-name> <remote-address>
>>>
>>> For example:
>>> git remote add ivan https://github.com/ivanjunckes/tomee.git
>>>
>>> Or if you use a ssh key:
>>> git remote add ivan [hidden email]:ivanjunckes/tomee.git
>>>
>>> They you will do this command to push:
>>> git push <remote-name> <branch-name>
>>>
>>> Replacing the variables would be something like:
>>> git push ivan branch_test
>>>
>>> On Sun, Dec 2, 2018 at 5:30 PM Michael Redlich <[hidden email]>
>>> wrote:
>>>
>>>> Hi Ivan:
>>>>
>>>> I just tried to push a new branch to the tomee git repository.  When I
>>>> executed *git push <remote_name> <branch_name>*, I used my own GitHub
>>>> account for authentication, but knowing that it might fail anyway, I
>>>> received the following message:
>>>>
>>>> *Username for 'https://github.com <https://github.com>': mpredli01*
>>>> *Password for 'https://mpredli01@...
>>>> <https://mpredli01@...>':*
>>>> *remote: Permission to apache/tomee.git denied to mpredli01.*
>>>> *fatal: unable to access 'https://github.com/apache/tomee.git/
>>>> <https://github.com/apache/tomee.git/>': The requested URL returned error:
>>>> 403*
>>>>
>>>> I assume I would need my own authentication to the tomee git
>>>> repository?  Please advise on how to proceed.  Thanks!
>>>>
>>>> Mike.
>>>>
>>>>
>>>>
>>>>
>>>> On Thu, Nov 29, 2018 at 6:41 AM Ivan Junckes Filho <
>>>> [hidden email]> wrote:
>>>>
>>>>> Hi Michael,
>>>>>
>>>>> These are some commands that may help you.
>>>>>
>>>>> #Create a branch from master
>>>>> git checkout -b <branch-name>
>>>>>
>>>>> #List the remotes you have
>>>>> git remote -v
>>>>>
>>>>> #Create a new remote
>>>>> git remote add <remote-name> <remote-url>
>>>>>
>>>>> #Push to the remote branch
>>>>> git push <remote-name> <branch-name>
>>>>>
>>>>>
>>>>>
>>>>> On Thu, Nov 29, 2018 at 8:25 AM Michael Redlich <[hidden email]>
>>>>> wrote:
>>>>>
>>>>>> Hi Romain:
>>>>>>
>>>>>> Thanks for all the background information on this!  I certainly
>>>>>> appreciate
>>>>>> it.
>>>>>>
>>>>>> Mike.
>>>>>>
>>>>>> On Wed, Nov 28, 2018 at 10:47 AM Romain Manni-Bucau <
>>>>>> [hidden email]>
>>>>>> wrote:
>>>>>>
>>>>>> > Hello Michael,
>>>>>> >
>>>>>> > in prometheus, histograms are not represented directly like their
>>>>>> class
>>>>>> > and the prometheus representation is done through an endpoint and
>>>>>> not a
>>>>>> > body writer as per microprofile spec - can likely be enhanced but
>>>>>> it is not
>>>>>> > needed today since you rarely want a single metrics in the output
>>>>>> (see
>>>>>> >
>>>>>> https://github.com/apache/geronimo-metrics/blob/master/geronimo-metrics-common/src/main/java/org/apache/geronimo/microprofile/metrics/common/prometheus/PrometheusFormatter.java#L140
>>>>>> > for an impl)
>>>>>> >
>>>>>> > Now, geronimo-metrics provides for you the prometheus endpoints so
>>>>>> you
>>>>>> > don't need to implement it on your side, did you set the system
>>>>>> property geronimo.metrics.jaxrs.activated=true
>>>>>> > ?
>>>>>> >
>>>>>> > Romain Manni-Bucau
>>>>>> > @rmannibucau <https://twitter.com/rmannibucau> |  Blog
>>>>>> > <https://rmannibucau.metawerx.net/> | Old Blog
>>>>>> > <http://rmannibucau.wordpress.com> | Github
>>>>>> > <https://github.com/rmannibucau> | LinkedIn
>>>>>> > <https://www.linkedin.com/in/rmannibucau> | Book
>>>>>> > <
>>>>>> https://www.packtpub.com/application-development/java-ee-8-high-performance
>>>>>> >
>>>>>> >
>>>>>> >
>>>>>> > Le mer. 28 nov. 2018 à 16:43, Ivan Junckes Filho <
>>>>>> [hidden email]>
>>>>>> > a écrit :
>>>>>> >
>>>>>> >> Hi Michael, could you please push it to a remote branch so I can
>>>>>> take a
>>>>>> >> look?
>>>>>> >>
>>>>>> >> On Wed, Nov 28, 2018 at 1:26 PM Michael Redlich <[hidden email]
>>>>>> >
>>>>>> >> wrote:
>>>>>> >>
>>>>>> >> > Hello everyone:
>>>>>> >> >
>>>>>> >> > I am making progress implementing a Metrics Histogram example.
>>>>>> Please
>>>>>> >> see
>>>>>> >> > the following code:
>>>>>> >> >
>>>>>> >> > @Path("/histogram")
>>>>>> >> > @GET
>>>>>> >> > @Produces(MediaType.TEXT_PLAIN)
>>>>>> >> > // @Produces(MediaType.APPLICATION_JSON)
>>>>>> >> > public Histogram histogramStatus() {
>>>>>> >> >     Metadata metadata = new Metadata("items",
>>>>>> MetricType.HISTOGRAM,
>>>>>> >> > "degrees F");
>>>>>> >> >     metadata.setDescription("A histogram of recent
>>>>>> temperatures.");
>>>>>> >> >     Histogram temps = metrics.histogram(metadata);
>>>>>> >> >     for(int temp = 80; temp < 100; ++temp) {
>>>>>> >> >         temps.update(temp);
>>>>>> >> >     }
>>>>>> >> >     return temps;
>>>>>> >> > }
>>>>>> >> >
>>>>>> >> >
>>>>>> >> > In APPLICATION_JSON mode (commented), the output is as expected.
>>>>>> >> However,
>>>>>> >> > in TEXT_MODE, I get the following message:
>>>>>> >> >
>>>>>> >> > No message body writer has been found for class
>>>>>> >> > org.apache.geronimo.microprofile.metrics.impl.HistogramImpl,
>>>>>> >> > ContentType: text/plain
>>>>>> >> >
>>>>>> >> > I haven't been able to find a way to correct this, especially
>>>>>> since the
>>>>>> >> > Counter Metric didn't require a body writer.
>>>>>> >> >
>>>>>> >> > I would appreciate any help.  Thanks!
>>>>>> >> >
>>>>>> >> > Mike.
>>>>>> >> >
>>>>>> >> > --
>>>>>> >> > *Code*, *Write*, *Cycle*, *Run*, *Drink*,
>>>>>> >> > *Sleep ... Repeat*
>>>>>> >> >
>>>>>> >> > *InfoQ <https://www.infoq.com/> Java Queue Editor*
>>>>>> >> > https://about.me/mpredli <http://about.me/mpredli/>
>>>>>> >> > https://twitter.com/mpredli
>>>>>> >> > https://redlich.net/
>>>>>> >> > https://javasig.org/
>>>>>> >> > *Laissez Les Bon Temps Rouler*
>>>>>> >> >
>>>>>> >>
>>>>>> >
>>>>>>
>>>>>> --
>>>>>> *Code*, *Write*, *Cycle*, *Run*, *Drink*,
>>>>>> *Sleep ... Repeat*
>>>>>>
>>>>>> *InfoQ <https://www.infoq.com/> Java Queue Editor*
>>>>>> https://about.me/mpredli <http://about.me/mpredli/>
>>>>>> https://twitter.com/mpredli
>>>>>> https://redlich.net/
>>>>>> https://javasig.org/
>>>>>> *Laissez Les Bon Temps Rouler*
>>>>>>
>>>>>
>>>>
>>>> --
>>>> *Code*, *Write*, *Cycle*, *Run*, *Drink*,
>>>> *Sleep ... Repeat*
>>>>
>>>> *InfoQ <https://www.infoq.com/> Java Queue Editor*
>>>> https://about.me/mpredli <http://about.me/mpredli/>
>>>> https://twitter.com/mpredli
>>>> https://redlich.net/
>>>> https://javasig.org/
>>>> *Laissez Les Bon Temps Rouler*
>>>>
>>> --
>> *Code*, *Write*, *Cycle*, *Run*, *Drink*,
>> *Sleep ... Repeat*
>>
>> *InfoQ <https://www.infoq.com/> Java Queue Editor*
>> https://about.me/mpredli <http://about.me/mpredli/>
>> https://twitter.com/mpredli
>> https://redlich.net/
>> https://javasig.org/
>> *Laissez Les Bon Temps Rouler*
>>
>

--
*Code*, *Write*, *Cycle*, *Run*, *Drink*,
*Sleep ... Repeat*

*InfoQ <https://www.infoq.com/> Java Queue Editor*
https://about.me/mpredli <http://about.me/mpredli/>
https://twitter.com/mpredli
https://redlich.net/
https://javasig.org/
*Laissez Les Bon Temps Rouler*
Reply | Threaded
Open this post in threaded view
|

Re: [TOMEE-2287] Histogram Prometheus Output

ivanjunckes
yw!

You should not work on anything related to "tomitribe", the correct
repository is apache/tomee. Apache is the owner of the project.

https://github.com/apache/tomee



On Mon, Dec 3, 2018 at 3:40 PM Michael Redlich <[hidden email]> wrote:

> Thanks, Ivan!
>
> As you may have already seen, Richard explained everything to me!
>
> Mike.
>
>
> On Mon, Dec 3, 2018 at 8:20 AM Ivan Junckes Filho <[hidden email]>
> wrote:
>
>> Hi Michael, I am not sure I understand you question.
>>
>> If I get it right, the instructions were in my previous email.
>>
>> Can you elaborate?
>>
>> On Mon, Dec 3, 2018 at 11:07 AM Michael Redlich <[hidden email]>
>> wrote:
>>
>>> Hi Ivan:
>>>
>>> Ah, OK, cool.  I will indeed do that.
>>>
>>> Since I’m new to the open-source community, I would appreciate knowing
>>> how I would use the forked TomEE repository on my own Github account
>>> relative to the repository I cloned on my local machine.
>>>
>>> I appreciate everyone’s patience as I get myself established!
>>>
>>> Mike.
>>>
>>>
>>> On Mon, Dec 3, 2018 at 5:50 AM Ivan Junckes Filho <[hidden email]>
>>> wrote:
>>>
>>>> You need to have your own fork. If you don't have it, just go to the
>>>> apache/tomee address and click "Fork".
>>>>
>>>> After that you need to add another remote branch.
>>>>
>>>> git remote add <remote-name> <remote-address>
>>>>
>>>> For example:
>>>> git remote add ivan https://github.com/ivanjunckes/tomee.git
>>>>
>>>> Or if you use a ssh key:
>>>> git remote add ivan [hidden email]:ivanjunckes/tomee.git
>>>>
>>>> They you will do this command to push:
>>>> git push <remote-name> <branch-name>
>>>>
>>>> Replacing the variables would be something like:
>>>> git push ivan branch_test
>>>>
>>>> On Sun, Dec 2, 2018 at 5:30 PM Michael Redlich <[hidden email]>
>>>> wrote:
>>>>
>>>>> Hi Ivan:
>>>>>
>>>>> I just tried to push a new branch to the tomee git repository.  When I
>>>>> executed *git push <remote_name> <branch_name>*, I used my own GitHub
>>>>> account for authentication, but knowing that it might fail anyway, I
>>>>> received the following message:
>>>>>
>>>>> *Username for 'https://github.com <https://github.com>': mpredli01*
>>>>> *Password for 'https://mpredli01@...
>>>>> <https://mpredli01@...>':*
>>>>> *remote: Permission to apache/tomee.git denied to mpredli01.*
>>>>> *fatal: unable to access 'https://github.com/apache/tomee.git/
>>>>> <https://github.com/apache/tomee.git/>': The requested URL returned error:
>>>>> 403*
>>>>>
>>>>> I assume I would need my own authentication to the tomee git
>>>>> repository?  Please advise on how to proceed.  Thanks!
>>>>>
>>>>> Mike.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Thu, Nov 29, 2018 at 6:41 AM Ivan Junckes Filho <
>>>>> [hidden email]> wrote:
>>>>>
>>>>>> Hi Michael,
>>>>>>
>>>>>> These are some commands that may help you.
>>>>>>
>>>>>> #Create a branch from master
>>>>>> git checkout -b <branch-name>
>>>>>>
>>>>>> #List the remotes you have
>>>>>> git remote -v
>>>>>>
>>>>>> #Create a new remote
>>>>>> git remote add <remote-name> <remote-url>
>>>>>>
>>>>>> #Push to the remote branch
>>>>>> git push <remote-name> <branch-name>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Thu, Nov 29, 2018 at 8:25 AM Michael Redlich <[hidden email]>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi Romain:
>>>>>>>
>>>>>>> Thanks for all the background information on this!  I certainly
>>>>>>> appreciate
>>>>>>> it.
>>>>>>>
>>>>>>> Mike.
>>>>>>>
>>>>>>> On Wed, Nov 28, 2018 at 10:47 AM Romain Manni-Bucau <
>>>>>>> [hidden email]>
>>>>>>> wrote:
>>>>>>>
>>>>>>> > Hello Michael,
>>>>>>> >
>>>>>>> > in prometheus, histograms are not represented directly like their
>>>>>>> class
>>>>>>> > and the prometheus representation is done through an endpoint and
>>>>>>> not a
>>>>>>> > body writer as per microprofile spec - can likely be enhanced but
>>>>>>> it is not
>>>>>>> > needed today since you rarely want a single metrics in the output
>>>>>>> (see
>>>>>>> >
>>>>>>> https://github.com/apache/geronimo-metrics/blob/master/geronimo-metrics-common/src/main/java/org/apache/geronimo/microprofile/metrics/common/prometheus/PrometheusFormatter.java#L140
>>>>>>> > for an impl)
>>>>>>> >
>>>>>>> > Now, geronimo-metrics provides for you the prometheus endpoints so
>>>>>>> you
>>>>>>> > don't need to implement it on your side, did you set the system
>>>>>>> property geronimo.metrics.jaxrs.activated=true
>>>>>>> > ?
>>>>>>> >
>>>>>>> > Romain Manni-Bucau
>>>>>>> > @rmannibucau <https://twitter.com/rmannibucau> |  Blog
>>>>>>> > <https://rmannibucau.metawerx.net/> | Old Blog
>>>>>>> > <http://rmannibucau.wordpress.com> | Github
>>>>>>> > <https://github.com/rmannibucau> | LinkedIn
>>>>>>> > <https://www.linkedin.com/in/rmannibucau> | Book
>>>>>>> > <
>>>>>>> https://www.packtpub.com/application-development/java-ee-8-high-performance
>>>>>>> >
>>>>>>> >
>>>>>>> >
>>>>>>> > Le mer. 28 nov. 2018 à 16:43, Ivan Junckes Filho <
>>>>>>> [hidden email]>
>>>>>>> > a écrit :
>>>>>>> >
>>>>>>> >> Hi Michael, could you please push it to a remote branch so I can
>>>>>>> take a
>>>>>>> >> look?
>>>>>>> >>
>>>>>>> >> On Wed, Nov 28, 2018 at 1:26 PM Michael Redlich <
>>>>>>> [hidden email]>
>>>>>>> >> wrote:
>>>>>>> >>
>>>>>>> >> > Hello everyone:
>>>>>>> >> >
>>>>>>> >> > I am making progress implementing a Metrics Histogram example.
>>>>>>> Please
>>>>>>> >> see
>>>>>>> >> > the following code:
>>>>>>> >> >
>>>>>>> >> > @Path("/histogram")
>>>>>>> >> > @GET
>>>>>>> >> > @Produces(MediaType.TEXT_PLAIN)
>>>>>>> >> > // @Produces(MediaType.APPLICATION_JSON)
>>>>>>> >> > public Histogram histogramStatus() {
>>>>>>> >> >     Metadata metadata = new Metadata("items",
>>>>>>> MetricType.HISTOGRAM,
>>>>>>> >> > "degrees F");
>>>>>>> >> >     metadata.setDescription("A histogram of recent
>>>>>>> temperatures.");
>>>>>>> >> >     Histogram temps = metrics.histogram(metadata);
>>>>>>> >> >     for(int temp = 80; temp < 100; ++temp) {
>>>>>>> >> >         temps.update(temp);
>>>>>>> >> >     }
>>>>>>> >> >     return temps;
>>>>>>> >> > }
>>>>>>> >> >
>>>>>>> >> >
>>>>>>> >> > In APPLICATION_JSON mode (commented), the output is as expected.
>>>>>>> >> However,
>>>>>>> >> > in TEXT_MODE, I get the following message:
>>>>>>> >> >
>>>>>>> >> > No message body writer has been found for class
>>>>>>> >> > org.apache.geronimo.microprofile.metrics.impl.HistogramImpl,
>>>>>>> >> > ContentType: text/plain
>>>>>>> >> >
>>>>>>> >> > I haven't been able to find a way to correct this, especially
>>>>>>> since the
>>>>>>> >> > Counter Metric didn't require a body writer.
>>>>>>> >> >
>>>>>>> >> > I would appreciate any help.  Thanks!
>>>>>>> >> >
>>>>>>> >> > Mike.
>>>>>>> >> >
>>>>>>> >> > --
>>>>>>> >> > *Code*, *Write*, *Cycle*, *Run*, *Drink*,
>>>>>>> >> > *Sleep ... Repeat*
>>>>>>> >> >
>>>>>>> >> > *InfoQ <https://www.infoq.com/> Java Queue Editor*
>>>>>>> >> > https://about.me/mpredli <http://about.me/mpredli/>
>>>>>>> >> > https://twitter.com/mpredli
>>>>>>> >> > https://redlich.net/
>>>>>>> >> > https://javasig.org/
>>>>>>> >> > *Laissez Les Bon Temps Rouler*
>>>>>>> >> >
>>>>>>> >>
>>>>>>> >
>>>>>>>
>>>>>>> --
>>>>>>> *Code*, *Write*, *Cycle*, *Run*, *Drink*,
>>>>>>> *Sleep ... Repeat*
>>>>>>>
>>>>>>> *InfoQ <https://www.infoq.com/> Java Queue Editor*
>>>>>>> https://about.me/mpredli <http://about.me/mpredli/>
>>>>>>> https://twitter.com/mpredli
>>>>>>> https://redlich.net/
>>>>>>> https://javasig.org/
>>>>>>> *Laissez Les Bon Temps Rouler*
>>>>>>>
>>>>>>
>>>>>
>>>>> --
>>>>> *Code*, *Write*, *Cycle*, *Run*, *Drink*,
>>>>> *Sleep ... Repeat*
>>>>>
>>>>> *InfoQ <https://www.infoq.com/> Java Queue Editor*
>>>>> https://about.me/mpredli <http://about.me/mpredli/>
>>>>> https://twitter.com/mpredli
>>>>> https://redlich.net/
>>>>> https://javasig.org/
>>>>> *Laissez Les Bon Temps Rouler*
>>>>>
>>>> --
>>> *Code*, *Write*, *Cycle*, *Run*, *Drink*,
>>> *Sleep ... Repeat*
>>>
>>> *InfoQ <https://www.infoq.com/> Java Queue Editor*
>>> https://about.me/mpredli <http://about.me/mpredli/>
>>> https://twitter.com/mpredli
>>> https://redlich.net/
>>> https://javasig.org/
>>> *Laissez Les Bon Temps Rouler*
>>>
>>
>
> --
> *Code*, *Write*, *Cycle*, *Run*, *Drink*,
> *Sleep ... Repeat*
>
> *InfoQ <https://www.infoq.com/> Java Queue Editor*
> https://about.me/mpredli <http://about.me/mpredli/>
> https://twitter.com/mpredli
> https://redlich.net/
> https://javasig.org/
> *Laissez Les Bon Temps Rouler*
>
Reply | Threaded
Open this post in threaded view
|

Re: [TOMEE-2287] Histogram Prometheus Output

Richard Monson-Haefel
Just to clarify.  apache/TomEE is the open source project. It was stared by
David Blevins and others in order to provide a lightweight alternative to
Java EE servers.  Tomitribe is a commercial company that was created to
provide support services to companies using TomEE and a couple of other
open source projects (e.g. Tomcat and ActiveMQ).  While a bunch of the
folks volunteering to work on TomEE also work for Tomitribe the two
organizations are separate. Tomitribe doesn't own TomEE. TomEE is open
source and is owned by you and everyone else in the open source community.
So the work you do on TomEE should be done on the apache/tomee Git Hub
project - using the forking technique I talked about before.

On Mon, Dec 3, 2018 at 11:43 AM Ivan Junckes Filho <[hidden email]>
wrote:

> yw!
>
> You should not work on anything related to "tomitribe", the correct
> repository is apache/tomee. Apache is the owner of the project.
>
> https://github.com/apache/tomee
>
>
>
> On Mon, Dec 3, 2018 at 3:40 PM Michael Redlich <[hidden email]> wrote:
>
> > Thanks, Ivan!
> >
> > As you may have already seen, Richard explained everything to me!
> >
> > Mike.
> >
> >
> > On Mon, Dec 3, 2018 at 8:20 AM Ivan Junckes Filho <[hidden email]
> >
> > wrote:
> >
> >> Hi Michael, I am not sure I understand you question.
> >>
> >> If I get it right, the instructions were in my previous email.
> >>
> >> Can you elaborate?
> >>
> >> On Mon, Dec 3, 2018 at 11:07 AM Michael Redlich <[hidden email]>
> >> wrote:
> >>
> >>> Hi Ivan:
> >>>
> >>> Ah, OK, cool.  I will indeed do that.
> >>>
> >>> Since I’m new to the open-source community, I would appreciate knowing
> >>> how I would use the forked TomEE repository on my own Github account
> >>> relative to the repository I cloned on my local machine.
> >>>
> >>> I appreciate everyone’s patience as I get myself established!
> >>>
> >>> Mike.
> >>>
> >>>
> >>> On Mon, Dec 3, 2018 at 5:50 AM Ivan Junckes Filho <
> [hidden email]>
> >>> wrote:
> >>>
> >>>> You need to have your own fork. If you don't have it, just go to the
> >>>> apache/tomee address and click "Fork".
> >>>>
> >>>> After that you need to add another remote branch.
> >>>>
> >>>> git remote add <remote-name> <remote-address>
> >>>>
> >>>> For example:
> >>>> git remote add ivan https://github.com/ivanjunckes/tomee.git
> >>>>
> >>>> Or if you use a ssh key:
> >>>> git remote add ivan [hidden email]:ivanjunckes/tomee.git
> >>>>
> >>>> They you will do this command to push:
> >>>> git push <remote-name> <branch-name>
> >>>>
> >>>> Replacing the variables would be something like:
> >>>> git push ivan branch_test
> >>>>
> >>>> On Sun, Dec 2, 2018 at 5:30 PM Michael Redlich <[hidden email]>
> >>>> wrote:
> >>>>
> >>>>> Hi Ivan:
> >>>>>
> >>>>> I just tried to push a new branch to the tomee git repository.  When
> I
> >>>>> executed *git push <remote_name> <branch_name>*, I used my own GitHub
> >>>>> account for authentication, but knowing that it might fail anyway, I
> >>>>> received the following message:
> >>>>>
> >>>>> *Username for 'https://github.com <https://github.com>': mpredli01*
> >>>>> *Password for 'https://mpredli01@...
> >>>>> <https://mpredli01@...>':*
> >>>>> *remote: Permission to apache/tomee.git denied to mpredli01.*
> >>>>> *fatal: unable to access 'https://github.com/apache/tomee.git/
> >>>>> <https://github.com/apache/tomee.git/>': The requested URL returned
> error:
> >>>>> 403*
> >>>>>
> >>>>> I assume I would need my own authentication to the tomee git
> >>>>> repository?  Please advise on how to proceed.  Thanks!
> >>>>>
> >>>>> Mike.
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>> On Thu, Nov 29, 2018 at 6:41 AM Ivan Junckes Filho <
> >>>>> [hidden email]> wrote:
> >>>>>
> >>>>>> Hi Michael,
> >>>>>>
> >>>>>> These are some commands that may help you.
> >>>>>>
> >>>>>> #Create a branch from master
> >>>>>> git checkout -b <branch-name>
> >>>>>>
> >>>>>> #List the remotes you have
> >>>>>> git remote -v
> >>>>>>
> >>>>>> #Create a new remote
> >>>>>> git remote add <remote-name> <remote-url>
> >>>>>>
> >>>>>> #Push to the remote branch
> >>>>>> git push <remote-name> <branch-name>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> On Thu, Nov 29, 2018 at 8:25 AM Michael Redlich <[hidden email]>
> >>>>>> wrote:
> >>>>>>
> >>>>>>> Hi Romain:
> >>>>>>>
> >>>>>>> Thanks for all the background information on this!  I certainly
> >>>>>>> appreciate
> >>>>>>> it.
> >>>>>>>
> >>>>>>> Mike.
> >>>>>>>
> >>>>>>> On Wed, Nov 28, 2018 at 10:47 AM Romain Manni-Bucau <
> >>>>>>> [hidden email]>
> >>>>>>> wrote:
> >>>>>>>
> >>>>>>> > Hello Michael,
> >>>>>>> >
> >>>>>>> > in prometheus, histograms are not represented directly like their
> >>>>>>> class
> >>>>>>> > and the prometheus representation is done through an endpoint and
> >>>>>>> not a
> >>>>>>> > body writer as per microprofile spec - can likely be enhanced but
> >>>>>>> it is not
> >>>>>>> > needed today since you rarely want a single metrics in the output
> >>>>>>> (see
> >>>>>>> >
> >>>>>>>
> https://github.com/apache/geronimo-metrics/blob/master/geronimo-metrics-common/src/main/java/org/apache/geronimo/microprofile/metrics/common/prometheus/PrometheusFormatter.java#L140
> >>>>>>> > for an impl)
> >>>>>>> >
> >>>>>>> > Now, geronimo-metrics provides for you the prometheus endpoints
> so
> >>>>>>> you
> >>>>>>> > don't need to implement it on your side, did you set the system
> >>>>>>> property geronimo.metrics.jaxrs.activated=true
> >>>>>>> > ?
> >>>>>>> >
> >>>>>>> > Romain Manni-Bucau
> >>>>>>> > @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> >>>>>>> > <https://rmannibucau.metawerx.net/> | Old Blog
> >>>>>>> > <http://rmannibucau.wordpress.com> | Github
> >>>>>>> > <https://github.com/rmannibucau> | LinkedIn
> >>>>>>> > <https://www.linkedin.com/in/rmannibucau> | Book
> >>>>>>> > <
> >>>>>>>
> https://www.packtpub.com/application-development/java-ee-8-high-performance
> >>>>>>> >
> >>>>>>> >
> >>>>>>> >
> >>>>>>> > Le mer. 28 nov. 2018 à 16:43, Ivan Junckes Filho <
> >>>>>>> [hidden email]>
> >>>>>>> > a écrit :
> >>>>>>> >
> >>>>>>> >> Hi Michael, could you please push it to a remote branch so I can
> >>>>>>> take a
> >>>>>>> >> look?
> >>>>>>> >>
> >>>>>>> >> On Wed, Nov 28, 2018 at 1:26 PM Michael Redlich <
> >>>>>>> [hidden email]>
> >>>>>>> >> wrote:
> >>>>>>> >>
> >>>>>>> >> > Hello everyone:
> >>>>>>> >> >
> >>>>>>> >> > I am making progress implementing a Metrics Histogram example.
> >>>>>>> Please
> >>>>>>> >> see
> >>>>>>> >> > the following code:
> >>>>>>> >> >
> >>>>>>> >> > @Path("/histogram")
> >>>>>>> >> > @GET
> >>>>>>> >> > @Produces(MediaType.TEXT_PLAIN)
> >>>>>>> >> > // @Produces(MediaType.APPLICATION_JSON)
> >>>>>>> >> > public Histogram histogramStatus() {
> >>>>>>> >> >     Metadata metadata = new Metadata("items",
> >>>>>>> MetricType.HISTOGRAM,
> >>>>>>> >> > "degrees F");
> >>>>>>> >> >     metadata.setDescription("A histogram of recent
> >>>>>>> temperatures.");
> >>>>>>> >> >     Histogram temps = metrics.histogram(metadata);
> >>>>>>> >> >     for(int temp = 80; temp < 100; ++temp) {
> >>>>>>> >> >         temps.update(temp);
> >>>>>>> >> >     }
> >>>>>>> >> >     return temps;
> >>>>>>> >> > }
> >>>>>>> >> >
> >>>>>>> >> >
> >>>>>>> >> > In APPLICATION_JSON mode (commented), the output is as
> expected.
> >>>>>>> >> However,
> >>>>>>> >> > in TEXT_MODE, I get the following message:
> >>>>>>> >> >
> >>>>>>> >> > No message body writer has been found for class
> >>>>>>> >> > org.apache.geronimo.microprofile.metrics.impl.HistogramImpl,
> >>>>>>> >> > ContentType: text/plain
> >>>>>>> >> >
> >>>>>>> >> > I haven't been able to find a way to correct this, especially
> >>>>>>> since the
> >>>>>>> >> > Counter Metric didn't require a body writer.
> >>>>>>> >> >
> >>>>>>> >> > I would appreciate any help.  Thanks!
> >>>>>>> >> >
> >>>>>>> >> > Mike.
> >>>>>>> >> >
> >>>>>>> >> > --
> >>>>>>> >> > *Code*, *Write*, *Cycle*, *Run*, *Drink*,
> >>>>>>> >> > *Sleep ... Repeat*
> >>>>>>> >> >
> >>>>>>> >> > *InfoQ <https://www.infoq.com/> Java Queue Editor*
> >>>>>>> >> > https://about.me/mpredli <http://about.me/mpredli/>
> >>>>>>> >> > https://twitter.com/mpredli
> >>>>>>> >> > https://redlich.net/
> >>>>>>> >> > https://javasig.org/
> >>>>>>> >> > *Laissez Les Bon Temps Rouler*
> >>>>>>> >> >
> >>>>>>> >>
> >>>>>>> >
> >>>>>>>
> >>>>>>> --
> >>>>>>> *Code*, *Write*, *Cycle*, *Run*, *Drink*,
> >>>>>>> *Sleep ... Repeat*
> >>>>>>>
> >>>>>>> *InfoQ <https://www.infoq.com/> Java Queue Editor*
> >>>>>>> https://about.me/mpredli <http://about.me/mpredli/>
> >>>>>>> https://twitter.com/mpredli
> >>>>>>> https://redlich.net/
> >>>>>>> https://javasig.org/
> >>>>>>> *Laissez Les Bon Temps Rouler*
> >>>>>>>
> >>>>>>
> >>>>>
> >>>>> --
> >>>>> *Code*, *Write*, *Cycle*, *Run*, *Drink*,
> >>>>> *Sleep ... Repeat*
> >>>>>
> >>>>> *InfoQ <https://www.infoq.com/> Java Queue Editor*
> >>>>> https://about.me/mpredli <http://about.me/mpredli/>
> >>>>> https://twitter.com/mpredli
> >>>>> https://redlich.net/
> >>>>> https://javasig.org/
> >>>>> *Laissez Les Bon Temps Rouler*
> >>>>>
> >>>> --
> >>> *Code*, *Write*, *Cycle*, *Run*, *Drink*,
> >>> *Sleep ... Repeat*
> >>>
> >>> *InfoQ <https://www.infoq.com/> Java Queue Editor*
> >>> https://about.me/mpredli <http://about.me/mpredli/>
> >>> https://twitter.com/mpredli
> >>> https://redlich.net/
> >>> https://javasig.org/
> >>> *Laissez Les Bon Temps Rouler*
> >>>
> >>
> >
> > --
> > *Code*, *Write*, *Cycle*, *Run*, *Drink*,
> > *Sleep ... Repeat*
> >
> > *InfoQ <https://www.infoq.com/> Java Queue Editor*
> > https://about.me/mpredli <http://about.me/mpredli/>
> > https://twitter.com/mpredli
> > https://redlich.net/
> > https://javasig.org/
> > *Laissez Les Bon Temps Rouler*
> >
>


--
Richard Monson-Haefel
https://twitter.com/rmonson
https://www.linkedin.com/in/monsonhaefel/