jamesfalkner / microprofile-grafana

This project presents a web frontend to generate Grafana dashboards that show metrics from a MicroProfile application.
35 stars 8 forks source link

400: STATIC ERROR tmp tmp 843 Hn2By7cQ3EWC 60 22 unterminated string #4

Open franden opened 3 years ago

franden commented 3 years ago

Hello, thank you for the great project. I tried to use the generator on http://quarkusdemos.net/. Therefore I exported the input JSON with the OPTIONS from my JBoss EAP application server.

{
  "base": {
    "classloader.loadedClasses.count": {
      "unit": "none",
      "type": "gauge",
      "description": "Displays the number of classes that are currently loaded in the Java virtual machine.",
      "displayName": "Current Loaded Class Count",
      "tags": [
        []
      ]
    },
    "classloader.loadedClasses.total": {
      "unit": "none",
      "type": "counter",
      "description": "Displays the total number of classes that have been loaded since the Java virtual machine has started execution.",
      "displayName": "Total Loaded Class Count",
      "tags": [
        []
      ]
    },
    "classloader.unloadedClasses.total": {
      "unit": "none",
      "type": "counter",
      "description": "Displays the total number of classes unloaded since the Java virtual machine has started execution.",
      "displayName": "Total Unloaded Class Count",
      "tags": [
        []
      ]
    },
    "cpu.availableProcessors": {
      "unit": "none",
      "type": "gauge",
      "description": "Displays the number of processors available to the Java virtual machine. This value may change during a particular invocation of the virtual machine.",
      "displayName": "Available Processors",
      "tags": [
        []
      ]
    },
    "cpu.processCpuLoad": {
      "unit": "none",
      "type": "gauge",
      "description": "Displays the \"recent cpu usage\" for the Java Virtual Machine process.",
      "displayName": "Process CPU Load",
      "tags": [
        []
      ]
    },
    "cpu.processCpuTime": {
      "unit": "nanoseconds",
      "type": "gauge",
      "description": "Displays the CPU time used by the process on which the Java virtual machine is running in nanoseconds",
      "displayName": "Process CPU Time",
      "tags": [
        []
      ]
    },
    "cpu.systemLoadAverage": {
      "unit": "none",
      "type": "gauge",
      "description": "Displays the system load average for the last minute. The system load average is the sum of the number of runnable entities queued to the available processors and the number of runnable entities running on the available processors averaged over a period of time. The way in which the load average is calculated is operating system specific but is typically a damped time-dependent average. If the load average is not available, a negative value is displayed. This attribute is designed to provide a hint about the system load and may be queried frequently. The load average may be unavailable on some platform where it is expensive to implement this method.",
      "displayName": "System Load Average",
      "tags": [
        []
      ]
    },
    "gc.time": {
      "unit": "milliseconds",
      "type": "counter",
      "description": "Displays the approximate accumulated collection elapsed time in milliseconds. This attribute displays -1 if the collection elapsed time is undefined for this collector. The Java virtual machine implementation may use a high resolution timer to measure the elapsed time. This attribute may display the same value even if the collection count has been incremented if the collection elapsed time is very short.",
      "displayName": "Garbage Collection Time",
      "tags": [
        [
          "name=PS MarkSweep1"
        ],
        [
          "name=PS Scavenge1"
        ]
      ]
    },
    "gc.total": {
      "unit": "none",
      "type": "counter",
      "description": "Displays the total number of collections that have occurred. This attribute lists -1 if the collection count is undefined for this collector.",
      "displayName": "Garbage Collection Count",
      "tags": [
        [
          "name=PS MarkSweep1"
        ],
        [
          "name=PS Scavenge1"
        ]
      ]
    },
    "jvm.uptime": {
      "unit": "milliseconds",
      "type": "gauge",
      "description": "Displays the uptime of the Java virtual machine",
      "displayName": "JVM Uptime",
      "tags": [
        []
      ]
    },
    "memory.committedHeap": {
      "unit": "bytes",
      "type": "gauge",
      "description": "Displays the amount of memory that is committed for the Java virtual machine to use.",
      "displayName": "Committed Heap Memory",
      "tags": [
        []
      ]
    },
    "memory.committedNonHeap": {
      "unit": "bytes",
      "type": "gauge",
      "description": "Displays the amount of memory that is committed for the Java virtual machine to use.",
      "displayName": "Committed Non Heap Memory",
      "tags": [
        []
      ]
    },
    "memory.maxHeap": {
      "unit": "bytes",
      "type": "gauge",
      "description": "Displays the maximum amount of memory in bytes that can be used for memory management.",
      "displayName": "Max Heap Memory",
      "tags": [
        []
      ]
    },
    "memory.maxNonHeap": {
      "unit": "bytes",
      "type": "gauge",
      "description": "Displays the maximum amount of memory in bytes that can be used for memory management.",
      "displayName": "Max Non Heap Memory",
      "tags": [
        []
      ]
    },
    "memory.usedHeap": {
      "unit": "bytes",
      "type": "gauge",
      "description": "Displays the amount of used memory.",
      "displayName": "Used Heap Memory",
      "tags": [
        []
      ]
    },
    "memory.usedNonHeap": {
      "unit": "bytes",
      "type": "gauge",
      "description": "Displays the amount of used memory.",
      "displayName": "Used Non Heap Memory",
      "tags": [
        []
      ]
    },
    "thread.count": {
      "unit": "none",
      "type": "gauge",
      "description": "Number of currently deployed threads",
      "displayName": "Current Thread count",
      "tags": [
        []
      ]
    },
    "thread.daemon.count": {
      "unit": "none",
      "type": "gauge",
      "description": "Displays the current number of live daemon threads.",
      "displayName": "Daemon Thread Count",
      "tags": [
        []
      ]
    },
    "thread.max.count": {
      "unit": "none",
      "type": "gauge",
      "description": "Displays the peak live thread count since the Java virtual machine started or peak was reset. This includes daemon and non-daemon threads.",
      "displayName": "Peak Thread Count",
      "tags": [
        []
      ]
    }
  },
  "application": {}
}

I get always an error from the generator: "400: STATIC ERROR tmp tmp 843 Hn2By7cQ3EWC 60 22 unterminated string" image

I tried to do the same with a JSON file generated by Quarkus application, but got the same error.

Could you please fix the generator?

jamesfalkner commented 3 years ago

Which version(s) of EAP and Quarkus are you using?

jamesfalkner commented 3 years ago

also I just tried to copy and paste your example output into the generator - and it worked:

Screen Shot 2020-10-19 at 11 23 21 AM

Could you perhaps try a different browser?

franden commented 3 years ago

I am using JBoss EAP 7.3/Quarkus 1.8.2.Final.

Very strange. I am still not able to generate the Dashboard. I am getting always the same error. I tried also different browser. Chrome 86.0.4240.75, Firefox 81.0.2 and Edge browser in newest version. Same issue there.

image

I am Using Windows 10.

It worked on in my Ubuntu VM! seems to be a OS related issue.

franden commented 3 years ago

In additional I get the mentioned error also on Ubuntu VM if I keep the large "vendor" tag, generated by JBoss EAP 7.3.

Please use the zipped JSON to reproduce: full_jboss.metrics.json.zip