예제 #1
0
  public void testExisting() throws IOException, InterruptedException {

    NDC.push("testExisting");

    try {

      File f = File.createTempFile("counter", "");

      f.deleteOnExit();

      PrintWriter pw = new PrintWriter(new FileWriter(f));

      pw.println("# comment");
      pw.println("threshold=100");
      pw.println("current=0");

      pw.close();

      FileUsageCounter counter =
          new FileUsageCounter("name", new TimeBasedUsage(), createTarget(), f);

      counter.consume(new DataSample<Double>("source", "signature", 1d, null));
      Thread.sleep(25);

      // This will cause a debug message
      counter.consume(new DataSample<Double>("source", "signature", 1d, null));

      logger.debug("Consumed: " + counter.getUsageRelative());

      Thread.sleep(25);

      // This will cause an info message
      counter.consume(new DataSample<Double>("source", "signature", 1d, null));

      Thread.sleep(30);

      // This will cause a warning message
      counter.consume(new DataSample<Double>("source", "signature", 1d, null));

      Thread.sleep(30);

      // This *will* cause an alert (error message)
      counter.consume(new DataSample<Double>("source", "signature", 1d, null));

      logger.debug("Consumed: " + counter.getUsageRelative());

    } finally {
      NDC.pop();
    }
  }