Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

remove(core): remove easy telemetry #4486

Open
wants to merge 44 commits into
base: master
Choose a base branch
from

Conversation

yanavasileva
Copy link
Member

* remove telemetry endpoint property
* remove database property
* remove database lock
* remove `connect` dependency
* remove unused logging
* empty out commands: `IsTelemetryEnabledCmd`
  * remove related command checks
  * `IsTelemetryEnabledCmd` returns always `false`, add javadoc
@yanavasileva yanavasileva added ci:e2e Runs the frontend end-to-end tests. ci:all-as Runs the builds for all application servers. ci:default-build Runs the builds that have no explicit trigger (e.g. different history levels). ci:migration Runs the process instance migration builds. ci:no-build Prevents any CI stage from running. ci:rest-api Runs extra builds for the REST API (currently only WLS compatibility builds). ci:rolling-update Runs the rolling update builds. ci:spring-boot Runs the integration tests for the Spring Boot starter. ci:webapp-integration Runs the webapp integration builds. labels Jul 8, 2024
@yanavasileva yanavasileva self-assigned this Jul 8, 2024
@yanavasileva yanavasileva mentioned this pull request Jul 8, 2024
18 tasks
@yanavasileva yanavasileva removed the ci:no-build Prevents any CI stage from running. label Jul 8, 2024
@yanavasileva yanavasileva removed the ci:spring-boot Runs the integration tests for the Spring Boot starter. label Jul 10, 2024
remove TelemetryUtil#toggleLocalTelemetry
*remove timer & cleanup #updateAndSendData
* rename to DiagnosticsCollector
@yanavasileva yanavasileva added the ci:default-build Runs the builds that have no explicit trigger (e.g. different history levels). label Jul 12, 2024
@yanavasileva yanavasileva added ci:e2e Runs the frontend end-to-end tests. ci:all-as Runs the builds for all application servers. ci:migration Runs the process instance migration builds. ci:rolling-update Runs the rolling update builds. ci:webapp-integration Runs the webapp integration builds. labels Jul 12, 2024
TelemetryRegistry -> DiagnosticsRegistry
PlatformTelemetryRegistry -> PlatformDiagnosticsRegistry
CommandChecker.checkReadDiagnosticsData ->
CommandChecker.checkReadTelemetryData
DeleteLicenseKeyCmd.updateTelemetry ->
DeleteLicenseKeyCmd.updateDiagnostics
ManagementServiceImpl.getLicenseKeyFromTelemetry() ->
ManagementServiceImpl.getLicenseKeyFromDiagnostics()

remove

* Telemetry logger
* ManagementServiceImpl.clearTelemetryData()
org.camunda.bpm.engine.impl.telemetry.reporter.DiagnosticsCollector ->
org.camunda.bpm.engine.impl.telemetry.DiagnosticsCollector

org.camunda.bpm.engine.impl.telemetry.JavaClases ->
org.camunda.bpm.engine.impl.diagnostics
@yanavasileva yanavasileva marked this pull request as ready for review July 16, 2024 15:00
Copy link
Contributor

@joaquinfelici joaquinfelici left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! Added a few comments.

/** default: once every 24 hours */
protected long telemetryReportingPeriod = 24 * 60 * 60;
// diagnostics ///////////////////////////////////////////////////////
protected DiagnosticsCollector diagnosticsCollector;
protected TelemetryDataImpl telemetryData;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

❓ Only reason we don't modify the name of this class to something related to diagnostics is because the interface is part of the public API?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I left the interface part of the public API and the implementation there untouched.

@@ -362,4 +362,9 @@ public ProcessEngineException exceptionJobRetriesMustNotBeNegative(Integer retri
"The number of job retries must be a non-negative Integer, but '{}' has been provided.", retries));
}

public ProcessEngineException exceptionWhileRetrievingDiagnosticsDataRegistryNull() {
return new ProcessEngineException(
exceptionMessage("019", "Error while retrieving diagnostics data. Diagnostics registry was not initialized."));
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔧 Looks like id "019" is already taken above?

Comment on lines 41 to 48
protected static final Set<String> METRICS_TO_REPORT = new HashSet<>();

static {
METRICS_TO_REPORT.add(ROOT_PROCESS_INSTANCE_START);
METRICS_TO_REPORT.add(EXECUTED_DECISION_INSTANCES);
METRICS_TO_REPORT.add(EXECUTED_DECISION_ELEMENTS);
METRICS_TO_REPORT.add(ACTIVTY_INSTANCE_START);
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🙃 We can also use Set.of() to avoid the static block.

@@ -18,7 +18,7 @@

/**
* Holds process engine version and edition (enterprise or community)
* Used in retrieving the process engine details when sending telemetry data
* Used in retrieving the process engine details for diagnostic data
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* Used in retrieving the process engine details for diagnostic data
* Used in retrieving the process engine details for diagnostics data

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci:all-as Runs the builds for all application servers. ci:default-build Runs the builds that have no explicit trigger (e.g. different history levels). ci:e2e Runs the frontend end-to-end tests. ci:migration Runs the process instance migration builds. ci:rest-api Runs extra builds for the REST API (currently only WLS compatibility builds). ci:rolling-update Runs the rolling update builds. ci:webapp-integration Runs the webapp integration builds.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants