Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: add test plan

Status

Current state[Under Discussion]

Discussion thread: http://apache-flink-mailing-list-archive.1008284.n3.nabble.com/DISCUSS-FLIP-75-Flink-Web-UI-Improvement-Proposal-td33540.html

JIRA:  

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyFLINK-14144

Released: <Flink Version>

Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).

Motivation

There is a metric tab in each taskmanager page, but there is no metric data in the job manager, it would be better for users to monitor the cluster with job manager metrics.

Proposed Changes

Add a metric page in job manager, and display the job manager metrics

...

  • 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"

          }

        }

      }

    }

  }

}


Test Plan

Covered by unit tests.