Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Display metrics inside JVM, outside JVM and GC

REST API proposal:

Metrics REST Endpoint

The API provided now could only get the metric key without a value.

  • add JobManager metrics in MetricStore
  • show JobManager memory and Garbage collectors
  • after FLINK-9741  finished, show it according to flip-6
  • url: /jobmanager/metrics/info
  • response:

{

  "type" : "object",

  "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:cluster:JobManagerMetricsInfo",

  "properties" : {

    "heapUsed" : {

      "type" : "integer"

    },

    "heapCommitted" : {

      "type" : "integer"

    },

    "heapMax" : {

      "type" : "integer"

    },

    "nonHeapUsed" : {

      "type" : "integer"

    },

    "nonHeapCommitted" : {

      "type" : "integer"

    },

    "nonHeapMax" : {

      "type" : "integer"

    },

    "directCount" : {

      "type" : "integer"

    },

    "directUsed" : {

      "type" : "integer"

    },

    "directMax" : {

      "type" : "integer"

    },

    "mappedCount" : {

      "type" : "integer"

    },

    "mappedUsed" : {

      "type" : "integer"

    },

    "mappedMax" : {

      "type" : "integer"

    },

    "garbageCollectors" : {

      "type" : "array",

      "items" : {

        "type" : "object",

        "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:cluster:JobManagerMetricsInfo:GarbageCollectorInfo",

        "properties" : {

          "name" : {

            "type" : "string"

          },

          "count" : {

            "type" : "integer"

          },

          "time" : {

            "type" : "integer"

          }

        }

      }

    }

  }

 can be used to retrieve the metrics for the JobManager: {{http://localhost:8081/jobmanager/metrics?get=Status.JVM.Memory.Heap.Max,Status.JVM.Memory.Heap.Used,Status.JVM.Memory.NonHeap.Max,Status.JVM.Memory.NonHeap.Used,Status.JVM.Memory.Metaspace.Max,Status.JVM.Memory.Metaspace.Used}}

Test Plan

Covered by unit tests.