From b204addfb59612b86bda389dfda3d6778dc7f82e Mon Sep 17 00:00:00 2001
From: Eduard Schander <66794307+EddeCCC@users.noreply.github.com>
Date: Fri, 8 Dec 2023 09:15:24 +0100
Subject: [PATCH] Revert "Metrics tracing tags (#1626)" (#1628)
This reverts commit 219f9edfd4cb8092ca45bedc48d81337ea02819a.
---
.../views/configuration/ConfigurationView.js | 4 +-
.../views/configuration/FileToolbar.js | 14 -
.../views/dialogs/DownloadDialogue.js | 25 +-
.../components/views/status/StatusTable.js | 25 +-
.../src/components/views/status/StatusView.js | 71 ++--
.../dialogs/AgentHealthStateDialogue.js | 152 ---------
.../src/lib/axios-api.js | 2 +-
.../ocelot/agentstatus/AgentStatus.java | 4 +-
.../agentstatus/AgentStatusManager.java | 25 +-
.../src/main/resources/application.yml | 1 -
inspectit-ocelot-config/build.gradle | 1 +
.../models/health/AgentHealthIncident.java | 28 --
.../models/health/AgentHealthState.java | 23 --
.../config/model/metrics/MetricsSettings.java | 7 +-
.../model/metrics/TagGuardSettings.java | 50 ---
.../definition/MetricDefinitionSettings.java | 3 -
.../selfmonitoring/AgentHealthSettings.java | 25 +-
.../config/model/tracing/TracingSettings.java | 8 +-
.../ocelot/config/default/basics.yml | 9 -
.../ocelot/config/default/self-monitoring.yml | 8 -
.../InspectIT Agent/tag-guard-database.json | 1 -
.../handler/impl/LogsCommandExecutor.java | 2 +-
.../http/HttpConfigurationPoller.java | 17 +-
.../http/HttpPropertySourceState.java | 20 +-
.../exporter/OtlpMetricsExporterService.java | 2 +-
.../MethodHookConfigurationResolver.java | 2 +-
.../hook/MethodHookGenerator.java | 49 +--
.../hook/actions/MetricsRecorder.java | 41 ++-
.../span/ContinueOrStartSpanAction.java | 3 +-
.../span/WriteSpanAttributesAction.java | 6 +-
.../core/metrics/MeasureTagValueGuard.java | 302 ------------------
.../AgentHealthIncidentBuffer.java | 56 ----
.../selfmonitoring/AgentHealthManager.java | 230 +++++++------
.../{logs => }/LogMetricsRecorder.java | 3 +-
.../{logs => }/LogPreloader.java | 2 +-
.../{models => }/AgentHealthChangedEvent.java | 13 +-
.../event/listener/HealthEventListener.java | 13 -
.../LogWritingHealthEventListener.java | 23 --
.../MetricWritingHealthEventListener.java | 35 --
.../PollerWritingHealthEventListener.java | 42 ---
.../models/AgentHealthIncidentAddedEvent.java | 22 --
.../selfmonitoring/logs/LogHealthMonitor.java | 51 ---
.../inspectit/ocelot/core/tags/TagUtils.java | 14 +-
.../handler/impl/LogsCommandExecutorTest.java | 2 +-
.../ExporterServiceIntegrationTestBase.java | 58 ++--
.../OtlpMetricsExporterServiceIntTest.java | 20 +-
.../hook/MethodHookGeneratorTest.java | 251 +--------------
.../hook/actions/MetricsRecorderTest.java | 62 ++--
.../InternalProcessingAppenderTest.java | 2 +-
.../metrics/MeasureTagValueGuardIntTest.java | 113 -------
.../metrics/MeasureTagValueGuardTest.java | 302 ------------------
.../AgentHealthIncidentBufferTest.java | 55 ----
...entHealthManagerDeadlockGh1597IntTest.java | 8 +-
.../AgentHealthManagerIntTest.java | 107 -------
.../AgentHealthManagerTest.java | 191 ++++++-----
.../{logs => }/LogMetricsIntTest.java | 3 +-
.../{logs => }/LogMetricsRecorderTest.java | 3 +-
.../{logs => }/LogPreloaderTest.java | 2 +-
.../LogWritingHealthEventListenerTest.java | 44 ---
.../MetricWritingHealthEventListenerTest.java | 48 ---
.../PollerWritingHealthEventListenerTest.java | 60 ----
.../logs/LogHealthMonitorTest.java | 101 ------
...micallyActivatableServiceObserverTest.java | 2 +-
.../docs/assets/agent-health-incidents.png | Bin 138677 -> 0 bytes
.../docs/config-server/agent-mappings.md | 5 +-
.../docs/metrics/tag-guard.md | 98 ------
.../docs/tracing/tracing.md | 59 +---
.../website/sidebars.json | 3 +-
68 files changed, 422 insertions(+), 2611 deletions(-)
delete mode 100644 components/inspectit-ocelot-configurationserver-ui/src/components/views/status/dialogs/AgentHealthStateDialogue.js
delete mode 100644 inspectit-ocelot-config/src/main/java/rocks/inspectit/ocelot/commons/models/health/AgentHealthIncident.java
delete mode 100644 inspectit-ocelot-config/src/main/java/rocks/inspectit/ocelot/commons/models/health/AgentHealthState.java
delete mode 100644 inspectit-ocelot-config/src/main/java/rocks/inspectit/ocelot/config/model/metrics/TagGuardSettings.java
delete mode 100644 inspectit-ocelot-core/${inspectit.env.agent-dir}/InspectIT Agent/tag-guard-database.json
delete mode 100644 inspectit-ocelot-core/src/main/java/rocks/inspectit/ocelot/core/metrics/MeasureTagValueGuard.java
delete mode 100644 inspectit-ocelot-core/src/main/java/rocks/inspectit/ocelot/core/selfmonitoring/AgentHealthIncidentBuffer.java
rename inspectit-ocelot-core/src/main/java/rocks/inspectit/ocelot/core/selfmonitoring/{logs => }/LogMetricsRecorder.java (91%)
rename inspectit-ocelot-core/src/main/java/rocks/inspectit/ocelot/core/selfmonitoring/{logs => }/LogPreloader.java (99%)
rename inspectit-ocelot-core/src/main/java/rocks/inspectit/ocelot/core/selfmonitoring/event/{models => }/AgentHealthChangedEvent.java (67%)
delete mode 100644 inspectit-ocelot-core/src/main/java/rocks/inspectit/ocelot/core/selfmonitoring/event/listener/HealthEventListener.java
delete mode 100644 inspectit-ocelot-core/src/main/java/rocks/inspectit/ocelot/core/selfmonitoring/event/listener/LogWritingHealthEventListener.java
delete mode 100644 inspectit-ocelot-core/src/main/java/rocks/inspectit/ocelot/core/selfmonitoring/event/listener/MetricWritingHealthEventListener.java
delete mode 100644 inspectit-ocelot-core/src/main/java/rocks/inspectit/ocelot/core/selfmonitoring/event/listener/PollerWritingHealthEventListener.java
delete mode 100644 inspectit-ocelot-core/src/main/java/rocks/inspectit/ocelot/core/selfmonitoring/event/models/AgentHealthIncidentAddedEvent.java
delete mode 100644 inspectit-ocelot-core/src/main/java/rocks/inspectit/ocelot/core/selfmonitoring/logs/LogHealthMonitor.java
delete mode 100644 inspectit-ocelot-core/src/test/java/rocks/inspectit/ocelot/core/metrics/MeasureTagValueGuardIntTest.java
delete mode 100644 inspectit-ocelot-core/src/test/java/rocks/inspectit/ocelot/core/metrics/MeasureTagValueGuardTest.java
delete mode 100644 inspectit-ocelot-core/src/test/java/rocks/inspectit/ocelot/core/selfmonitoring/AgentHealthIncidentBufferTest.java
delete mode 100644 inspectit-ocelot-core/src/test/java/rocks/inspectit/ocelot/core/selfmonitoring/AgentHealthManagerIntTest.java
rename inspectit-ocelot-core/src/test/java/rocks/inspectit/ocelot/core/selfmonitoring/{logs => }/LogMetricsIntTest.java (96%)
rename inspectit-ocelot-core/src/test/java/rocks/inspectit/ocelot/core/selfmonitoring/{logs => }/LogMetricsRecorderTest.java (93%)
rename inspectit-ocelot-core/src/test/java/rocks/inspectit/ocelot/core/selfmonitoring/{logs => }/LogPreloaderTest.java (98%)
delete mode 100644 inspectit-ocelot-core/src/test/java/rocks/inspectit/ocelot/core/selfmonitoring/event/listener/LogWritingHealthEventListenerTest.java
delete mode 100644 inspectit-ocelot-core/src/test/java/rocks/inspectit/ocelot/core/selfmonitoring/event/listener/MetricWritingHealthEventListenerTest.java
delete mode 100644 inspectit-ocelot-core/src/test/java/rocks/inspectit/ocelot/core/selfmonitoring/event/listener/PollerWritingHealthEventListenerTest.java
delete mode 100644 inspectit-ocelot-core/src/test/java/rocks/inspectit/ocelot/core/selfmonitoring/logs/LogHealthMonitorTest.java
delete mode 100644 inspectit-ocelot-documentation/docs/assets/agent-health-incidents.png
delete mode 100644 inspectit-ocelot-documentation/docs/metrics/tag-guard.md
diff --git a/components/inspectit-ocelot-configurationserver-ui/src/components/views/configuration/ConfigurationView.js b/components/inspectit-ocelot-configurationserver-ui/src/components/views/configuration/ConfigurationView.js
index 5a44cd26b4..1a3498059d 100644
--- a/components/inspectit-ocelot-configurationserver-ui/src/components/views/configuration/ConfigurationView.js
+++ b/components/inspectit-ocelot-configurationserver-ui/src/components/views/configuration/ConfigurationView.js
@@ -165,7 +165,7 @@ class ConfigurationView extends React.Component {
* If no version is specified, the latest version will be selected.
*/
openFile = (filename, versionId = null) => {
- if (this.props.selectedVersion !== versionId) {
+ if (this.props.selectedVersion != versionId) {
this.props.selectVersion(versionId, false);
}
this.props.selectFile(filename);
@@ -191,6 +191,7 @@ class ConfigurationView extends React.Component {
canWrite,
} = this.props;
const showEditor = (selection || selectedDefaultConfigFile) && !isDirectory;
+
const { path, name } = this.parsePath(selection, selectedDefaultConfigFile);
const icon = 'pi-' + (isDirectory ? 'folder' : 'file');
const showHeader = !!name;
@@ -198,6 +199,7 @@ class ConfigurationView extends React.Component {
const readOnly = !canWrite || !!selectedDefaultConfigFile || !isLatestVersion;
const fileContentWithoutFirstLine = fileContent ? fileContent.split('\n').slice(1).join('\n') : '';
+
return (
- }
- >
- {error ? (
-
- ) : (
- <>
-
-
- The agent is in an
- {healthInfo}
- state
-
-
- {latestIncidentElement}
- {historyElements}
- >
- )}
-
- >
- );
-};
-
-AgentHealthStateDialogue.propTypes = {
- /** Whether a error is thrown */
- error: PropTypes.bool,
- /** Whether the dialog is visible */
- visible: PropTypes.bool,
- /** Callback on dialog hide */
- onHide: PropTypes.func,
- /** The string value being displayed. E.g. the logs.*/
- contentValue: PropTypes.string,
- /** The type of content. E.g. config or log.*/
- contentType: PropTypes.string,
- /** The name of the data's context. E.g. the agent whose logs are being shown.*/
- contextName: PropTypes.string,
-};
-
-AgentHealthStateDialogue.defaultProps = {
- error: false,
- visible: true,
- onHide: () => {},
- contentValue: 'No content found',
- contentType: '',
-};
-
-const resolveHealthState = (health) => {
- switch (health) {
- case 'OK':
- return {
- healthInfo: ' OK ',
- iconClass: 'pi-check-circle',
- iconColor: '#0abd04',
- };
- case 'WARNING':
- return {
- healthInfo: ' Warning ',
- iconClass: 'pi-minus-circle',
- iconColor: '#e8c413',
- };
- }
- return {
- healthInfo: ' Error ',
- iconClass: 'pi-times-circle',
- iconColor: 'red',
- };
-};
-
-export default AgentHealthStateDialogue;
diff --git a/components/inspectit-ocelot-configurationserver-ui/src/lib/axios-api.js b/components/inspectit-ocelot-configurationserver-ui/src/lib/axios-api.js
index 3b4830d162..0bff230596 100644
--- a/components/inspectit-ocelot-configurationserver-ui/src/lib/axios-api.js
+++ b/components/inspectit-ocelot-configurationserver-ui/src/lib/axios-api.js
@@ -18,7 +18,7 @@ const axiosBearer = axios.create(commonConfiguration);
// Request Interceptors
/**
- * Ensures requests are authenticated using the bearer token.
+ * Ensures requres are authenticated using the bearer token.
*/
axiosBearer.interceptors.request.use(
function (config) {
diff --git a/components/inspectit-ocelot-configurationserver/src/main/java/rocks/inspectit/ocelot/agentstatus/AgentStatus.java b/components/inspectit-ocelot-configurationserver/src/main/java/rocks/inspectit/ocelot/agentstatus/AgentStatus.java
index 7469207d7e..59a52df5a8 100644
--- a/components/inspectit-ocelot-configurationserver/src/main/java/rocks/inspectit/ocelot/agentstatus/AgentStatus.java
+++ b/components/inspectit-ocelot-configurationserver/src/main/java/rocks/inspectit/ocelot/agentstatus/AgentStatus.java
@@ -4,7 +4,7 @@
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
-import rocks.inspectit.ocelot.commons.models.health.AgentHealthState;
+import rocks.inspectit.ocelot.commons.models.health.AgentHealth;
import java.util.Date;
import java.util.Map;
@@ -47,5 +47,5 @@ public class AgentStatus {
/**
* The health status of the agent.
*/
- private AgentHealthState healthState;
+ private AgentHealth health;
}
diff --git a/components/inspectit-ocelot-configurationserver/src/main/java/rocks/inspectit/ocelot/agentstatus/AgentStatusManager.java b/components/inspectit-ocelot-configurationserver/src/main/java/rocks/inspectit/ocelot/agentstatus/AgentStatusManager.java
index ac9c5e585d..8a2cf8e92d 100644
--- a/components/inspectit-ocelot-configurationserver/src/main/java/rocks/inspectit/ocelot/agentstatus/AgentStatusManager.java
+++ b/components/inspectit-ocelot-configurationserver/src/main/java/rocks/inspectit/ocelot/agentstatus/AgentStatusManager.java
@@ -1,8 +1,5 @@
package rocks.inspectit.ocelot.agentstatus;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.ObjectReader;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.cache.Cache;
import com.google.common.cache.CacheBuilder;
@@ -12,7 +9,6 @@
import org.springframework.stereotype.Component;
import rocks.inspectit.ocelot.agentconfiguration.AgentConfiguration;
import rocks.inspectit.ocelot.commons.models.health.AgentHealth;
-import rocks.inspectit.ocelot.commons.models.health.AgentHealthState;
import rocks.inspectit.ocelot.config.model.InspectitServerSettings;
import java.util.Collection;
@@ -83,28 +79,19 @@ public void notifyAgentConfigurationFetched(Map agentAttributes,
}
if (headers.containsKey(HEADER_AGENT_HEALTH)) {
- ObjectReader objectReader = new ObjectMapper().reader().forType(AgentHealthState.class);
-
- AgentHealthState agentHealthState = null;
- try {
- agentHealthState = objectReader.readValue(headers.get(HEADER_AGENT_HEALTH));
- } catch (JsonProcessingException e) { //If this exception occurs we assume the corresponding agent uses the legacy health indicator.
- AgentHealth agentHealth = AgentHealth.valueOf(headers.get(HEADER_AGENT_HEALTH));
- agentHealthState = AgentHealthState.defaultState();
- agentHealthState.setHealth(agentHealth);
- }
- agentStatus.setHealthState(agentHealthState);
- logHealthIfChanged(statusKey, agentHealthState);
+ AgentHealth agentHealth = AgentHealth.valueOf(headers.get(HEADER_AGENT_HEALTH));
+ agentStatus.setHealth(agentHealth);
+ logHealthIfChanged(statusKey, agentHealth);
}
attributesToAgentStatusCache.put(statusKey, agentStatus);
}
- private void logHealthIfChanged(Object statusKey, AgentHealthState agentHealthState) {
+ private void logHealthIfChanged(Object statusKey, AgentHealth agentHealth) {
AgentStatus lastStatus = attributesToAgentStatusCache.getIfPresent(statusKey);
- if (lastStatus == null || lastStatus.getHealthState().getHealth() != agentHealthState.getHealth()) {
- log.info("Health of agent {} changed to {}.", statusKey, agentHealthState);
+ if (lastStatus == null || lastStatus.getHealth() != agentHealth) {
+ log.info("Health of agent {} changed to {}.", statusKey, agentHealth);
}
}
diff --git a/components/inspectit-ocelot-configurationserver/src/main/resources/application.yml b/components/inspectit-ocelot-configurationserver/src/main/resources/application.yml
index 4a197b722d..1e5dab04b4 100644
--- a/components/inspectit-ocelot-configurationserver/src/main/resources/application.yml
+++ b/components/inspectit-ocelot-configurationserver/src/main/resources/application.yml
@@ -28,7 +28,6 @@ spring:
# server properties - see https://docs.spring.io/spring-boot/docs/current/reference/html/appendix-application-properties.html#server-properties
server:
port: 8090
- max-http-header-size: 1MB
inspectit-config-server:
# the directory which is used as working directory
diff --git a/inspectit-ocelot-config/build.gradle b/inspectit-ocelot-config/build.gradle
index ca4c9bfd85..55a21c625c 100644
--- a/inspectit-ocelot-config/build.gradle
+++ b/inspectit-ocelot-config/build.gradle
@@ -43,6 +43,7 @@ dependencies {
libs.orgApacheCommonsCommonsLang3,
libs.commonsIo,
libs.comFasterxmlJacksonCoreJacksonDatabind,
+
// logging
libs.chQosLogbackLogbackClassic,
)
diff --git a/inspectit-ocelot-config/src/main/java/rocks/inspectit/ocelot/commons/models/health/AgentHealthIncident.java b/inspectit-ocelot-config/src/main/java/rocks/inspectit/ocelot/commons/models/health/AgentHealthIncident.java
deleted file mode 100644
index 2a55d81948..0000000000
--- a/inspectit-ocelot-config/src/main/java/rocks/inspectit/ocelot/commons/models/health/AgentHealthIncident.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package rocks.inspectit.ocelot.commons.models.health;
-
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-import java.time.LocalDateTime;
-
-@Data
-@AllArgsConstructor
-@NoArgsConstructor
-public class AgentHealthIncident implements Comparable