From 77d0fa78a8dba17e710a0caedbd91272218bfcee Mon Sep 17 00:00:00 2001 From: Ivan Topolnjak Date: Wed, 6 Feb 2019 15:45:09 +0100 Subject: better component structure, included a Kamon APM suggestion --- .../main/scala/kamon/module/ModuleRegistry.scala | 9 +- .../main/scala/kamon/status/JsonMarshalling.scala | 1 + .../src/main/scala/kamon/status/Status.scala | 1 + kamon-status/package-lock.json | 6 ++ kamon-status/package.json | 1 + kamon-status/src/api/StatusApi.ts | 1 + kamon-status/src/components/Card.vue | 4 +- kamon-status/src/components/EnvironmentCard.vue | 66 +++++++++++++ kamon-status/src/components/MetricList.vue | 2 +- kamon-status/src/components/ModuleCard.vue | 91 ++++++++++++++++++ kamon-status/src/components/ModuleList.vue | 90 ++++++++++++++++++ kamon-status/src/components/ModuleStatus.vue | 76 --------------- kamon-status/src/components/StatusCard.vue | 71 ++++++++++++++ kamon-status/src/main.ts | 1 + kamon-status/src/styles/main.scss | 5 + kamon-status/src/views/Overview.vue | 102 +++++---------------- 16 files changed, 366 insertions(+), 161 deletions(-) create mode 100644 kamon-status/src/components/EnvironmentCard.vue create mode 100644 kamon-status/src/components/ModuleCard.vue create mode 100644 kamon-status/src/components/ModuleList.vue delete mode 100644 kamon-status/src/components/ModuleStatus.vue create mode 100644 kamon-status/src/components/StatusCard.vue diff --git a/kamon-core/src/main/scala/kamon/module/ModuleRegistry.scala b/kamon-core/src/main/scala/kamon/module/ModuleRegistry.scala index 5520c602..18921b03 100644 --- a/kamon-core/src/main/scala/kamon/module/ModuleRegistry.scala +++ b/kamon-core/src/main/scala/kamon/module/ModuleRegistry.scala @@ -338,17 +338,20 @@ class ModuleRegistry(classLoading: ClassLoading, configuration: Configuration, c _registeredModules.get(moduleSettings.name) .map(moduleEntry => // The module is on the classpath and started. - Status.Module(moduleEntry.name, moduleEntry.settings.description, moduleEntry.settings.kind, false, true) + Status.Module(moduleEntry.name, moduleEntry.settings.description, moduleEntry.settings.clazz.getCanonicalName, + moduleEntry.settings.kind, false, true) ).getOrElse( // The module is on the classpath but has not been started. - Status.Module(moduleSettings.name, moduleSettings.description, moduleSettings.kind, false, false) + Status.Module(moduleSettings.name, moduleSettings.description, moduleSettings.clazz.getCanonicalName, + moduleSettings.kind, false, false) ) }) val programmaticallyAddedModules = _registeredModules .filter { case (_, entry) => entry.programmaticallyAdded } - .map { case (name, entry) => Status.Module(name, entry.settings.description, entry.settings.kind, true, true) } + .map { case (name, entry) => Status.Module(name, entry.settings.description, entry.settings.clazz.getCanonicalName, + entry.settings.kind, true, true) } val allModules = automaticallyAddedModules ++ programmaticallyAddedModules Status.ModuleRegistry(allModules) diff --git a/kamon-core/src/main/scala/kamon/status/JsonMarshalling.scala b/kamon-core/src/main/scala/kamon/status/JsonMarshalling.scala index 370ab467..a84d016a 100644 --- a/kamon-core/src/main/scala/kamon/status/JsonMarshalling.scala +++ b/kamon-core/src/main/scala/kamon/status/JsonMarshalling.scala @@ -37,6 +37,7 @@ object JsonMarshalling { array.`object`() .value("name", m.name) .value("description", m.description) + .value("clazz", m.clazz) .value("kind", moduleKindString(m.kind)) .value("isProgrammaticallyRegistered", m.isProgrammaticallyRegistered) .value("isStarted", m.isStarted) diff --git a/kamon-core/src/main/scala/kamon/status/Status.scala b/kamon-core/src/main/scala/kamon/status/Status.scala index 2a52b95f..1ba5defd 100644 --- a/kamon-core/src/main/scala/kamon/status/Status.scala +++ b/kamon-core/src/main/scala/kamon/status/Status.scala @@ -70,6 +70,7 @@ object Status { case class Module( name: String, description: String, + clazz: String, kind: ModuleKind, isProgrammaticallyRegistered: Boolean, isStarted: Boolean diff --git a/kamon-status/package-lock.json b/kamon-status/package-lock.json index fdcb7690..d49faf54 100644 --- a/kamon-status/package-lock.json +++ b/kamon-status/package-lock.json @@ -4,6 +4,12 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@fortawesome/fontawesome-free": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-5.7.1.tgz", + "integrity": "sha512-gukWJ7Mwf0WXQbkcwcm5zi8+H8aT5MMnphf5hpydOw898H1ibgm2cyejHgk6Km/FTvrPp5ppUHLrlFwt0QxsQw==", + "dev": true + }, "@intervolga/optimize-cssnano-plugin": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/@intervolga/optimize-cssnano-plugin/-/optimize-cssnano-plugin-1.0.6.tgz", diff --git a/kamon-status/package.json b/kamon-status/package.json index ae317311..0d622f35 100644 --- a/kamon-status/package.json +++ b/kamon-status/package.json @@ -17,6 +17,7 @@ "vue-router": "^3.0.1" }, "devDependencies": { + "@fortawesome/fontawesome-free": "^5.7.1", "@vue/cli-plugin-typescript": "^3.3.0", "@vue/cli-service": "^3.3.0", "node-sass": "^4.9.0", diff --git a/kamon-status/src/api/StatusApi.ts b/kamon-status/src/api/StatusApi.ts index 25d525d2..3add6161 100644 --- a/kamon-status/src/api/StatusApi.ts +++ b/kamon-status/src/api/StatusApi.ts @@ -24,6 +24,7 @@ export enum ModuleKind { export interface Module { name: string description: string + clazz: string kind: ModuleKind isProgrammaticallyRegistered: boolean isStarted: boolean diff --git a/kamon-status/src/components/Card.vue b/kamon-status/src/components/Card.vue index 745a1caf..d77596da 100644 --- a/kamon-status/src/components/Card.vue +++ b/kamon-status/src/components/Card.vue @@ -1,5 +1,5 @@ @@ -13,7 +13,7 @@ } hr { - margin: 1px; + margin: 0px; border-color: #f3f3f3; } diff --git a/kamon-status/src/components/EnvironmentCard.vue b/kamon-status/src/components/EnvironmentCard.vue new file mode 100644 index 00000000..97e79d28 --- /dev/null +++ b/kamon-status/src/components/EnvironmentCard.vue @@ -0,0 +1,66 @@ + + + \ No newline at end of file diff --git a/kamon-status/src/components/MetricList.vue b/kamon-status/src/components/MetricList.vue index b9b6a92a..60f7499a 100644 --- a/kamon-status/src/components/MetricList.vue +++ b/kamon-status/src/components/MetricList.vue @@ -10,7 +10,7 @@
-
+
{{ metric.type }}
{{ metric.name }}
diff --git a/kamon-status/src/components/ModuleCard.vue b/kamon-status/src/components/ModuleCard.vue new file mode 100644 index 00000000..ea3a0c68 --- /dev/null +++ b/kamon-status/src/components/ModuleCard.vue @@ -0,0 +1,91 @@ + + + + + diff --git a/kamon-status/src/components/ModuleList.vue b/kamon-status/src/components/ModuleList.vue new file mode 100644 index 00000000..746ccf16 --- /dev/null +++ b/kamon-status/src/components/ModuleList.vue @@ -0,0 +1,90 @@ + + + + + diff --git a/kamon-status/src/components/ModuleStatus.vue b/kamon-status/src/components/ModuleStatus.vue deleted file mode 100644 index fff3373e..00000000 --- a/kamon-status/src/components/ModuleStatus.vue +++ /dev/null @@ -1,76 +0,0 @@ - - - - - diff --git a/kamon-status/src/components/StatusCard.vue b/kamon-status/src/components/StatusCard.vue new file mode 100644 index 00000000..193744df --- /dev/null +++ b/kamon-status/src/components/StatusCard.vue @@ -0,0 +1,71 @@ + + + + diff --git a/kamon-status/src/main.ts b/kamon-status/src/main.ts index 02a4b217..a0a1ac2c 100644 --- a/kamon-status/src/main.ts +++ b/kamon-status/src/main.ts @@ -2,6 +2,7 @@ import Vue from 'vue' import App from './App.vue' import router from './router' import 'bootstrap/dist/css/bootstrap.min.css' +import '@fortawesome/fontawesome-free/css/all.min.css' import './styles/main.scss' Vue.config.productionTip = false diff --git a/kamon-status/src/styles/main.scss b/kamon-status/src/styles/main.scss index 271da8af..54e77dfb 100644 --- a/kamon-status/src/styles/main.scss +++ b/kamon-status/src/styles/main.scss @@ -32,3 +32,8 @@ h1, h2, h3 { overflow-wrap: anywhere; color: #676767; } + +a, a:hover, a:active { + color: inherit; + text-decoration: none; +} \ No newline at end of file diff --git a/kamon-status/src/views/Overview.vue b/kamon-status/src/views/Overview.vue index 75b39eb0..830f5110 100644 --- a/kamon-status/src/views/Overview.vue +++ b/kamon-status/src/views/Overview.vue @@ -5,69 +5,18 @@

Status

- -
-
-
Instrumentation
-
{{instrumentationStatusMessage}}
-
-
-
Reporters
-
{{ activeReporters.length }} Started
-
-
-
Metrics
-
{{metricsStatusMessage}}
-
-
-
+

Environment

- -
-
-
Service
-
{{ service }}
-
-
-
Host
-
{{ host }}
-
-
-
instance
-
{{instance}}
-
-
-
tags
-
- - {{ tag }}={{ environmentTags[tag] }} - -
-
-
None
-
-
-
-
+
-
-

Reporters

-
-
- -
- -
-

Modules

-
-
- +
+
@@ -83,22 +32,25 @@