All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.camunda.bpm.engine.telemetry.Internals Maven / Gradle / Ivy

There is a newer version: 7.23.0-alpha1
Show newest version
/*
 * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH
 * under one or more contributor license agreements. See the NOTICE file
 * distributed with this work for additional information regarding copyright
 * ownership. Camunda licenses this file to you under the Apache License,
 * Version 2.0; you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.camunda.bpm.engine.telemetry;

import java.util.Date;
import java.util.Map;
import java.util.Set;

import org.camunda.bpm.engine.ManagementService;

/**
 * This class represents the structure of data describing Camunda internal
 * metrics and the technical environment in which Camunda is set-up.
 *
 * This information is sent to Camunda when telemetry is enabled.
 *
 * @see Camunda
 *      Documentation: Collected Telemetry Data
 */
public interface Internals {

  /**
   * Information about the connected database system.
   */
  public Database getDatabase();

  /**
   * Information about the application server Camunda is running on.
   */
  public ApplicationServer getApplicationServer();

  /**
   * Information about the Camunda license key issued for enterprise editions of
   * Camunda Platform. May be null when no license is used.
   */
  public LicenseKeyData getLicenseKey();

  /**
   * The date when the engine started to collect dynamic data, such as command executions
   * and metrics. If telemetry sending is enabled, dynamic data resets on sending the data
   * to Camunda.
   *
   * This method returns a date that represents the date and time when the dynamic data collected
   * for telemetry is reset. Dynamic data and the date returned by this method are reset in three
   * cases:
   *
   * 
    *
  • At engine startup, the date is set to the current time, even if telemetry is disabled. * It is then only used by the telemetry Query API that returns the currently collected * data but sending telemetry to Camunda is disabled.
  • *
  • When sending telemetry to Camunda is enabled after engine start via API (e.g., * {@link ManagementService#toggleTelemetry(boolean)}. This call causes the engine to wipe * all dynamic data and therefore the collection date is reset to the current time.
  • *
  • When sending telemetry to Camunda is enabled, after sending the data, all existing dynamic * data is wiped and therefore the collection date is reset to the current time.
  • *
* * @return A date that represents the start of the time frame where the current telemetry * data set was collected. */ public Date getDataCollectionStartDate(); /** * Information about the number of command executions performed by the Camunda * engine. If telemetry sending is enabled, the number of executions per * command resets on sending the data to Camunda. Retrieving the data through * {@link ManagementService#getTelemetryData()} will not reset the count. */ public Map getCommands(); /** * A selection of metrics collected by the engine. Metrics included are: *
    *
  • The number of root process instance executions started.
  • *
  • The number of activity instances started or also known as flow node * instances.
  • *
  • The number of executed decision instances.
  • *
  • The number of executed decision elements.
  • *
* The metrics reset on sending the data to Camunda. Retrieving the data * through {@link ManagementService#getTelemetryData()} will not reset the * count. */ public Map getMetrics(); /** * Used Camunda integrations (e.g, Spring boot starter, Camunda Platform Run, * WildFly/JBoss subsystem or Camunda EJB service). */ public Set getCamundaIntegration(); /** * Webapps enabled in the Camunda installation (e.g., cockpit, admin, * tasklist). */ public Set getWebapps(); /** * Information about the installed Java runtime environment. */ public Jdk getJdk(); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy