{ "analysis-graph-implementor": "org.opensearch.performanceanalyzer.rca.store.OpenSearchAnalysisGraph", // it can be file:// or s3:// "rca-store-location": "s3://sifi-store/rcas/", //it can be file:// or s3:// "threshold-store-location": "s3://sifi-store/thresholds/", "new-rca-check-minutes": 60, "new-threshold-check-minutes": 30, // The size of the task queue for all networking operations. // Small size queues may result in dropping of flow units, while large size queues can lead to a // bigger backlog of tasks resulting in delays in sending and receiving. "network-queue-length": 200, // The size of the per-vertex buffer for flow units received from remote nodes. // Small buffer sizes may result in dropping of flow units, while large buffer size can lead to // high memory consumptions depending on how the analysis graph is configured. "max-flow-units-per-vertex-buffer": 200, "tags": { "locus": "cluster_manager-node" }, "remote-peers": ["ip1", "ip2", "ip3"], // Tells the runtime where the RCAs will be stored. "datastore": { // accepted types are sqlite, in-memory. "type": "sqlite", "location-dir": "/tmp", "filename": "rca.sqlite", "storage-file-retention-count": 5, // How often the sqlite file be repeated in seconds. This file contains RCAs and therefore rotating it too frequently // might not be as fruitful as there might not be any data. "rotation-period-seconds": 21600 }, // Add config settings for different RCAs "rca-config-settings": { // old gen rca "high-heap-usage-old-gen-rca": { "top-k" : 3 }, //young gen rca "high-heap-usage-young-gen-rca": { "promotion-rate-mb-per-second" : 500, "young-gen-gc-time-ms-per-second" : 400 }, "queue-rejection-rca": { "rejection-time-period-in-seconds" : 300 }, //unbalanced node rca "hot-node-cluster-rca": { "unbalanced-resource-percentage" : 0.3, "resource-usage-lower-bound-percentage" : 0.1 }, //hot shard rca "hot-shard-rca": { "cpu-utilization" : 0.015, "top-k-consumers" : 50 }, //hot shard cluster rca "hot-shard-cluster-rca": { "cpu-utilization-cluster-percentage" : 0.3 }, // field data cache rca "field-data-cache-rca": { "field-data-cache-size-threshold" : 0.8 }, // shard request cache rca "shard-request-cache-rca": { "shard-request-cache-threshold" : 0.9 } }, "muted-rcas": [ ], "muted-deciders": [], "muted-actions": [], // Default Values are added in the config specific file as well // Modify them as well whenever changing the default values (DeciderConfig.java) "decider-config-settings": { "workload-type": { "prefer-ingest": true, "prefer-search": true }, // Decreasing order of priority for the type of cache which is expected to be consumed more. // Priority order in the list goes from most used to the lease used cache type. "cache-type": { "priority-order": ["fielddata-cache", "shard-request-cache", "query-cache", "bitset-filter-cache"] }, "old-gen-decision-policy-config": { "queue-bucket-size" : 20, "old-gen-threshold-level-one" : 0.6, "old-gen-threshold-level-two" : 0.75, "old-gen-threshold-level-three" : 0.9 } }, // Action Configurations "action-config-settings": { // Cache Max Size bounds are expressed as %age of JVM heap size "cache-settings": { "total-step-count" : 20, "fielddata": { "upper-bound": 0.4, "lower-bound": 0.1 }, "shard-request": { "upper-bound": 0.05, "lower-bound": 0.01 } }, // Queue Capacity bounds are expressed as absolute queue size "queue-settings": { "total-step-count" : 20, "search": { "upper-bound": 3000, "lower-bound": 1000 }, "write": { "upper-bound": 1000, "lower-bound": 200 } } }, "bucketization": { "old-gen": { "UNDER_UTILIZED": 10.0, "HEALTHY_WITH_BUFFER": 60.0, "HEALTHY": 80.0 } } }