net.i2p.router.web

## Class StatSummarizer

- java.lang.Object
- - net.i2p.router.web.StatSummarizer

- All Implemented Interfaces:
    Runnable

      public class StatSummarizer
      extends Object
      implements Runnable

  A thread started by RouterConsoleRunner that checks the configuration for stats to be tracked via jrobin, and adds or deletes RRDs as necessary. This also contains methods to generate xml or png image output. The actual png rendering code is here for the special dual-rate graph; the rendering for standard graphs is in SummaryRenderer. To control memory, the number of simultaneous renderings is limited.
  Since:
    0.6.1.13

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `StatSummarizer()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `(package private) List<SummaryListener>` | `getListeners()` list of SummaryListener instances
    `boolean` | `getXML(Rate rate, OutputStream out)`
    `static StatSummarizer` | `instance()`
    `(package private) static boolean` | `isDisabled()`
    `boolean` | `renderPng(OutputStream out, String templateFilename)` Deprecated. unused
    `boolean` | `renderPng(Rate rate, OutputStream out)`
    `boolean` | `renderPng(Rate rate, OutputStream out, int width, int height, boolean hideLegend, boolean hideGrid, boolean hideTitle, boolean showEvents, int periodCount, boolean showCredit)` This does the single data graphs.
    `boolean` | `renderRatePng(OutputStream out, int width, int height, boolean hideLegend, boolean hideGrid, boolean hideTitle, boolean showEvents, int periodCount, boolean showCredit)` This does the two-data bandwidth graph only.
    `void` | `run()`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### StatSummarizer

          public StatSummarizer()

  - ### Method Detail

    - #### instance

          public static StatSummarizer instance()

    - #### run

          public void run()

      Specified by:
        `run` in interface `Runnable`

    - #### isDisabled

          static boolean isDisabled()

      Since:
        0.8.7

    - #### getListeners

          List<SummaryListener> getListeners()

      list of SummaryListener instances

    - #### renderPng

          public boolean renderPng(Rate rate,
                          OutputStream out)
                            throws IOException

      Throws:
        `IOException`

    - #### renderPng

          public boolean renderPng(Rate rate,
                          OutputStream out,
                          int width,
                          int height,
                          boolean hideLegend,
                          boolean hideGrid,
                          boolean hideTitle,
                          boolean showEvents,
                          int periodCount,
                          boolean showCredit)
                            throws IOException

      This does the single data graphs. For the two-data bandwidth graph see renderRatePng(). Synchronized to conserve memory.
      Returns:
        success
      Throws:
        `IOException`

    - #### renderPng

          public boolean renderPng(OutputStream out,
                          String templateFilename)
                            throws IOException

      Deprecated. unused
      Throws:
        `IOException`

    - #### getXML

          public boolean getXML(Rate rate,
                       OutputStream out)
                         throws IOException

      Throws:
        `IOException`

    - #### renderRatePng

          public boolean renderRatePng(OutputStream out,
                              int width,
                              int height,
                              boolean hideLegend,
                              boolean hideGrid,
                              boolean hideTitle,
                              boolean showEvents,
                              int periodCount,
                              boolean showCredit)
                                throws IOException

      This does the two-data bandwidth graph only. For all other graphs see SummaryRenderer Synchronized to conserve memory.
      Returns:
        success
      Throws:
        `IOException`