title: How to instrument Java application code metrics to Prometheus
body: <p>I am trying to export customized values metrics of my Java application to Prometheus. I have read that it could be done with Push Gateway, following an example I use the next method:</p>
  
  <pre><code>static void executeBatchJob() throws Exception {
       CollectorRegistry registry = new CollectorRegistry();
       Gauge duration = Gauge.build()
           .name("my_batch_job_duration_seconds").help("Duration of my batch job in seconds.").register(registry);
       Gauge.Timer durationTimer = duration.startTimer();
       try {
         // Your code here.
         myCode();
         // This is only added to the registry after success,
         // so that a previous success in the Pushgateway isn't overwritten on failure.
         Gauge lastSuccess = Gauge.build()
             .name("my_batch_job_last_success").help("Last time my batch job succeeded, in unixtime.").register(registry);
         lastSuccess.setToCurrentTime();
       } finally {
         durationTimer.setDuration();
         PushGateway pg = new PushGateway("172.16.124.40:9091");
         pg.pushAdd(registry, "my_batch_job");
       }
     }
  </code></pre>
  
  <p>But when I run the project I am having the next error: 
  <code>Exception in thread "main" java.lang.NoClassDefFoundError: io/prometheus/client/exporter/common/TextFormat
      at io.prometheus.client.exporter.PushGateway.doRequest(PushGateway.java:299)
      at io.prometheus.client.exporter.PushGateway.pushAdd(PushGateway.java:158)
      at nemshelloworld.NemsHelloWorld.executeBatchJob2(NemsHelloWorld.java:78)
      at nemshelloworld.NemsHelloWorld.main(NemsHelloWorld.java:33)
  Caused by: java.lang.ClassNotFoundException: io.prometheus.client.exporter.common.TextFormat
      at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
      at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:357)</code></p>