docs: public static void main(String[] args) throws IOException, InterruptedException {
      // Register the view. It is imperative that this step exists,
      // otherwise recorded metrics will be dropped and never exported.
      View view =
          View.create(
              Name.create("task_latency_distribution"),
              "The distribution of the task latencies.",
              LATENCY_MS,
              Aggregation.Distribution.create(LATENCY_BOUNDARIES),
              Collections.<TagKey>emptyList());
  
      // Create the view manager
      ViewManager viewManager = Stats.getViewManager();
  
      // Then finally register the views
      viewManager.registerView(view);
  
      // [START setup_exporter]
      // Enable OpenCensus exporters to export metrics to Stackdriver Monitoring.
      // Exporters use Application Default Credentials to authenticate.
      // See https://developers.google.com/identity/protocols/application-default-credentials
      // for more details.
      StackdriverStatsExporter.createAndRegister();
      // [END setup_exporter]
  
      // Record 100 fake latency values between 0 and 5 seconds.
      Random rand = new Random();
      for (int i = 0; i < 100; i++) {
        long ms = (long) (TimeUnit.MILLISECONDS.convert(5, TimeUnit.SECONDS) * rand.nextDouble());
        System.out.println(String.format("Latency %d: %d", i, ms));
        STATS_RECORDER.newMeasureMap().put(LATENCY_MS, ms).record();
      }
  
      // The default export interval is 60 seconds. The thread with the StackdriverStatsExporter must
      // live for at least the interval past any metrics that must be collected, or some risk being
      // lost if they are recorded after the last export.
  
      System.out.println(
          String.format(
              "Sleeping %d seconds before shutdown to ensure all records are flushed.",
              EXPORT_INTERVAL));
      Thread.sleep(TimeUnit.MILLISECONDS.convert(EXPORT_INTERVAL, TimeUnit.SECONDS));
    }