TELEMETRY PIPELINE
Resource profiles

Resource profiles

When sending data, you might need to adjust settings to balance performance and reliability. Chronosphere Telemetry Pipeline offers resource profiles, which

are templates that contain optimal settings for pipelines. You can edit these templates to change behavior related to buffering and resource consumption. Resource profiles are applied to pipelines when you deploy them.

Profile specifications

Telemetry Pipeline includes these profile specifications:

TypeDescription
Best Effort Low Resource
(best-effort-low-resource)
- Persistent storage
- Buffering configured
- No checksum
- Maximum of 5 MB of memory when processing backlog data
High-Performance Optimal Throughput
(high-performance-optimal-throughput)
- Minimal persistent storage
- In-memory only option
- No buffering
High-Performance Guaranteed Delivery
(high-performance-guaranteed-delivery)
- Larger persistent storage
- Buffering configured
- 256 MB memory for backlog data

Resource profiles only support storage configurations. Memory and CPU limits can be set in the profile, but by default no limits are set.

Profile properties

Use the following settings to modify your profile:

Setting nameConfiguration keyPossible valuesDescription
StorageVolumeSize-Volume size in Mi/Gi/TiSize of the volume to be mounted in the pod for local storage processing.
StorageSyncFullstorage.synctrue, falseUse normal synchronization mode (false) or full (true)
StorageBacklogMemLimitstorage.backlog.mem_limitMemory in MB (for example: 5M)Maximum amount of memory to use when processing chunks from the backlog.
StorageMaxChunksUpstorage.max_chunks_upIntegers > 0Sets the maximum number of Chunks that can be up in memory.

Use a built-in resource profile during deployment

Specify any of the default profiles by using the following command:

calyptia create pipeline --core-instance CORE_INSTANCE --resource-profile PROFILE

Replace CORE_INSTANCE with the unique ID or name of the Core Instance, and PROFILE with the profile name.

Define a new resource profile

Use the following command to define your own resource profiles in Telemetry Pipeline:

calyptia create resource_profile --core-instance CORE_INSTANCE --name NEW_NAME --spec JSON_FILE

Replace CORE_INSTANCE with the unique ID or name of the Core Instance, and JSON_FILE with the JSON configuration file.

Resource profile JSON files follow this schema:

best-effort-low-resourcehigh-performance-optimal-throughputhigh-performance-guaranteed-delivery

This is an example of a resource profile definition:

{
 "resources": {
  "storage": {
   "syncFull": false,
   "backlogMemLimit": "5M",
   "volumeSize": "250Mi",
   "maxChunksUp": 128,
   "maxChunksPause": false
  },
  "cpu": {
   "limit": "0",
   "request": "0"
  },
  "memory": {
   "limit": "0",
   "request": "0"
  }
 }
}

A 0 value is defined as unlimited.

List available resource profiles

Use the following command to list the resource profiles defined within a Core Instance:

calyptia get resource_profiles --core-instance CORE_INSTANCE

Replace CORE_INSTANCE with the unique ID or name of the Core Instance.