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 Easy Telemetry #4483

Open
3 tasks
Tracked by #4234
yanavasileva opened this issue Jul 8, 2024 · 4 comments
Open
3 tasks
Tracked by #4234

Remove Easy Telemetry #4483

yanavasileva opened this issue Jul 8, 2024 · 4 comments
Assignees
Labels
scope:core-api Changes to the core API: engine, dmn-engine, feel-engine, REST API, OpenAPI type:subtask Issues that are subtasks of another issue. Must always be part of the breakdown of the parent issue. version:7.22.0

Comments

@yanavasileva
Copy link
Member

yanavasileva commented Jul 8, 2024

Acceptance Criteria (Required on creation)

  1. Engine
    • ProcessEngineConfigurationImpl - Remove configuration properties and related code that are not needed anymore.
      won't start up after an update
    • BootstrapEngineCommand - don't add telemetry lock and property
      • for updated instance, the database property/ies will be left there and they won't be used. Do we want to remove it?
    • TelemetryReporter and TelemetrySendingTask
      • Remove sending functionality. Keep general code so it can be used for fetching the diagnostic data without the interval to send HTTP requests.
    • IsTelemetryEnabledCmd
      • deprecate Java and REST API, so whoever uses it knows that is no longer function and can remove it but their code won't brake
      • empty out command, should always return false
    • TelemetryConfigureCmd
      • deprecate Java and REST API, so whoever uses it knows that is no longer function and can remove it but their code won't brake
      • empty out command, should do nothing
    • connect dependency - remove it and check if shading is working as expected
    • Loggers - remove all logging that is not used any longer
  2. REST API
    • deprecate and empty out
    • remove tests
  3. Distros, javaee, connect plugin
    • remove connect process engine plugin used for telemetryHttpConnector (sending HTTP requests for telemetry) and the a
    • exclude connect dependency
      • if users use the dependency for other reasons, they can add the dependency themselves (we can consider adding this to the migration guide)
  4. Tests (CE and EE)
    • tests configuration files - remove telemetry endpoint property
    • tests - remove sending telemetry tests but leave and ensure diagnostic data API is tested
    • wiremock - remove where not needed anymore
  5. Docs
    • Configuration pages - remove telemetry properties: process engine, quarkus, spring boot
    • Telemetry page - leave only collected data that can be used for the diagnostics, maybe rename/move the page. For transparency we can add that feature has been removed.
    • Migration page - document any breaking changes
      • feature removed
      • configuration properties removed
      • API deprecated and emptied
      • connect dependency removal
  6. Optional
    • TelemetryReporter and TelemetrySendingTask
      • rename the classes to move away from telemetry as they will be used only for fetching diagnostic data
      • remove the TimerTask as it is not needed anymore

Hints

Links

Breakdown

Pull Requests

  1. ci:all-as ci:default-build ci:e2e ci:migration ci:rest-api ci:rolling-update ci:webapp-integration
    yanavasileva
  2. yanavasileva
@yanavasileva yanavasileva added type:subtask Issues that are subtasks of another issue. Must always be part of the breakdown of the parent issue. scope:core-api Changes to the core API: engine, dmn-engine, feel-engine, REST API, OpenAPI version:7.22.0 labels Jul 8, 2024
@yanavasileva yanavasileva self-assigned this Jul 8, 2024
@yanavasileva
Copy link
Member Author

yanavasileva commented Jul 10, 2024

To remove, no longer used: org.camunda.bpm.engine.impl.telemetry.dto.InternalsImpl.telemetryEnabled


It's not exposed in public Java API and not available in REST API at all.

@yanavasileva
Copy link
Member Author

yanavasileva commented Jul 10, 2024

❓ Do we need migration test?
* No, as we don't have data to test from previous version to this.
❓ Can we remove the telemetry.lock from the sql scripts?

  • No, since old engine should work with new database schema and the lock is needed during start up. However, the Database schema backwards compatibility doesn't mention that scenario. ref.
  • Yes, since the property will be there for existing instances and not needed in new ones.

❓ If telemetry reporter is removed, do we need special handling for diagnostics endpoint?

  • No, the diagnostics are collected per process engine node (installation).

@yanavasileva
Copy link
Member Author

Existing database will have the telemetry.lock so we don't need to keep it.

@yanavasileva
Copy link
Member Author

Docs PR is still work in progress.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
scope:core-api Changes to the core API: engine, dmn-engine, feel-engine, REST API, OpenAPI type:subtask Issues that are subtasks of another issue. Must always be part of the breakdown of the parent issue. version:7.22.0
Projects
None yet
Development

No branches or pull requests

2 participants