├── .github └── ISSUE_TEMPLATE │ └── bug_report.md ├── .gitignore ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── docs ├── configurations.md ├── fault-tolerant.md ├── logging.md ├── scaling-hints.md └── scaling-logic.md ├── project ├── build.properties └── plugins.sbt ├── scripts ├── emr-install_autoscale.sh └── setup-artifact-bucket.sh ├── src ├── main │ ├── resources │ │ ├── application.conf │ │ └── log4j2.xml │ └── scala │ │ └── com │ │ └── amazonaws │ │ └── emr │ │ ├── Config.scala │ │ ├── TrinoAutoscaler.scala │ │ ├── cluster │ │ ├── Instance.scala │ │ ├── TaskRunning.scala │ │ ├── TaskSpec.scala │ │ ├── TaskState.scala │ │ ├── Workers.scala │ │ └── WorkersUnit.scala │ │ ├── metrics │ │ ├── MetricStore.scala │ │ ├── TrinoJmx.scala │ │ ├── TrinoJmxEmr.scala │ │ ├── TrinoJmxRest.scala │ │ ├── TrinoMetricStore.scala │ │ └── models │ │ │ ├── Attribute.scala │ │ │ ├── ClusterMemoryMetrics.scala │ │ │ ├── ClusterNodesCpuMetrics.scala │ │ │ ├── ClusterQueriesMetrics.scala │ │ │ ├── ClusterSizeMonitor.scala │ │ │ ├── EmrNodeStatus.scala │ │ │ └── NodeStatus.scala │ │ ├── scaling │ │ ├── ResizeAction.scala │ │ ├── ResizeType.scala │ │ ├── ScalingManager.scala │ │ └── algo │ │ │ ├── CpuLoadEvaluator.scala │ │ │ ├── Evaluator.scala │ │ │ ├── ScalingAlgorithm.scala │ │ │ └── StepScalingAlgorithm.scala │ │ └── utils │ │ ├── CloudWatch.scala │ │ └── FixedList.scala └── test │ └── scala │ └── com │ └── amazonaws │ └── emr │ └── metrics │ └── MetricStoreTest.scala └── templates ├── trino-cluster-if.yml └── trino-cluster-ig.yml /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/emr-trino-autoscale/HEAD/.github/ISSUE_TEMPLATE/bug_report.md -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/emr-trino-autoscale/HEAD/.gitignore -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/emr-trino-autoscale/HEAD/CODE_OF_CONDUCT.md -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/emr-trino-autoscale/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/emr-trino-autoscale/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/emr-trino-autoscale/HEAD/README.md -------------------------------------------------------------------------------- /docs/configurations.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/emr-trino-autoscale/HEAD/docs/configurations.md -------------------------------------------------------------------------------- /docs/fault-tolerant.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/emr-trino-autoscale/HEAD/docs/fault-tolerant.md -------------------------------------------------------------------------------- /docs/logging.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/emr-trino-autoscale/HEAD/docs/logging.md -------------------------------------------------------------------------------- /docs/scaling-hints.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/emr-trino-autoscale/HEAD/docs/scaling-hints.md -------------------------------------------------------------------------------- /docs/scaling-logic.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/emr-trino-autoscale/HEAD/docs/scaling-logic.md -------------------------------------------------------------------------------- /project/build.properties: -------------------------------------------------------------------------------- 1 | sbt.version=1.7.1 -------------------------------------------------------------------------------- /project/plugins.sbt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/emr-trino-autoscale/HEAD/project/plugins.sbt -------------------------------------------------------------------------------- /scripts/emr-install_autoscale.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/emr-trino-autoscale/HEAD/scripts/emr-install_autoscale.sh -------------------------------------------------------------------------------- /scripts/setup-artifact-bucket.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/emr-trino-autoscale/HEAD/scripts/setup-artifact-bucket.sh -------------------------------------------------------------------------------- /src/main/resources/application.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/emr-trino-autoscale/HEAD/src/main/resources/application.conf -------------------------------------------------------------------------------- /src/main/resources/log4j2.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/emr-trino-autoscale/HEAD/src/main/resources/log4j2.xml -------------------------------------------------------------------------------- /src/main/scala/com/amazonaws/emr/Config.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/emr-trino-autoscale/HEAD/src/main/scala/com/amazonaws/emr/Config.scala -------------------------------------------------------------------------------- /src/main/scala/com/amazonaws/emr/TrinoAutoscaler.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/emr-trino-autoscale/HEAD/src/main/scala/com/amazonaws/emr/TrinoAutoscaler.scala -------------------------------------------------------------------------------- /src/main/scala/com/amazonaws/emr/cluster/Instance.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/emr-trino-autoscale/HEAD/src/main/scala/com/amazonaws/emr/cluster/Instance.scala -------------------------------------------------------------------------------- /src/main/scala/com/amazonaws/emr/cluster/TaskRunning.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/emr-trino-autoscale/HEAD/src/main/scala/com/amazonaws/emr/cluster/TaskRunning.scala -------------------------------------------------------------------------------- /src/main/scala/com/amazonaws/emr/cluster/TaskSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/emr-trino-autoscale/HEAD/src/main/scala/com/amazonaws/emr/cluster/TaskSpec.scala -------------------------------------------------------------------------------- /src/main/scala/com/amazonaws/emr/cluster/TaskState.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/emr-trino-autoscale/HEAD/src/main/scala/com/amazonaws/emr/cluster/TaskState.scala -------------------------------------------------------------------------------- /src/main/scala/com/amazonaws/emr/cluster/Workers.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/emr-trino-autoscale/HEAD/src/main/scala/com/amazonaws/emr/cluster/Workers.scala -------------------------------------------------------------------------------- /src/main/scala/com/amazonaws/emr/cluster/WorkersUnit.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/emr-trino-autoscale/HEAD/src/main/scala/com/amazonaws/emr/cluster/WorkersUnit.scala -------------------------------------------------------------------------------- /src/main/scala/com/amazonaws/emr/metrics/MetricStore.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/emr-trino-autoscale/HEAD/src/main/scala/com/amazonaws/emr/metrics/MetricStore.scala -------------------------------------------------------------------------------- /src/main/scala/com/amazonaws/emr/metrics/TrinoJmx.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/emr-trino-autoscale/HEAD/src/main/scala/com/amazonaws/emr/metrics/TrinoJmx.scala -------------------------------------------------------------------------------- /src/main/scala/com/amazonaws/emr/metrics/TrinoJmxEmr.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/emr-trino-autoscale/HEAD/src/main/scala/com/amazonaws/emr/metrics/TrinoJmxEmr.scala -------------------------------------------------------------------------------- /src/main/scala/com/amazonaws/emr/metrics/TrinoJmxRest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/emr-trino-autoscale/HEAD/src/main/scala/com/amazonaws/emr/metrics/TrinoJmxRest.scala -------------------------------------------------------------------------------- /src/main/scala/com/amazonaws/emr/metrics/TrinoMetricStore.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/emr-trino-autoscale/HEAD/src/main/scala/com/amazonaws/emr/metrics/TrinoMetricStore.scala -------------------------------------------------------------------------------- /src/main/scala/com/amazonaws/emr/metrics/models/Attribute.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/emr-trino-autoscale/HEAD/src/main/scala/com/amazonaws/emr/metrics/models/Attribute.scala -------------------------------------------------------------------------------- /src/main/scala/com/amazonaws/emr/metrics/models/ClusterMemoryMetrics.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/emr-trino-autoscale/HEAD/src/main/scala/com/amazonaws/emr/metrics/models/ClusterMemoryMetrics.scala -------------------------------------------------------------------------------- /src/main/scala/com/amazonaws/emr/metrics/models/ClusterNodesCpuMetrics.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/emr-trino-autoscale/HEAD/src/main/scala/com/amazonaws/emr/metrics/models/ClusterNodesCpuMetrics.scala -------------------------------------------------------------------------------- /src/main/scala/com/amazonaws/emr/metrics/models/ClusterQueriesMetrics.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/emr-trino-autoscale/HEAD/src/main/scala/com/amazonaws/emr/metrics/models/ClusterQueriesMetrics.scala -------------------------------------------------------------------------------- /src/main/scala/com/amazonaws/emr/metrics/models/ClusterSizeMonitor.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/emr-trino-autoscale/HEAD/src/main/scala/com/amazonaws/emr/metrics/models/ClusterSizeMonitor.scala -------------------------------------------------------------------------------- /src/main/scala/com/amazonaws/emr/metrics/models/EmrNodeStatus.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/emr-trino-autoscale/HEAD/src/main/scala/com/amazonaws/emr/metrics/models/EmrNodeStatus.scala -------------------------------------------------------------------------------- /src/main/scala/com/amazonaws/emr/metrics/models/NodeStatus.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/emr-trino-autoscale/HEAD/src/main/scala/com/amazonaws/emr/metrics/models/NodeStatus.scala -------------------------------------------------------------------------------- /src/main/scala/com/amazonaws/emr/scaling/ResizeAction.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/emr-trino-autoscale/HEAD/src/main/scala/com/amazonaws/emr/scaling/ResizeAction.scala -------------------------------------------------------------------------------- /src/main/scala/com/amazonaws/emr/scaling/ResizeType.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/emr-trino-autoscale/HEAD/src/main/scala/com/amazonaws/emr/scaling/ResizeType.scala -------------------------------------------------------------------------------- /src/main/scala/com/amazonaws/emr/scaling/ScalingManager.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/emr-trino-autoscale/HEAD/src/main/scala/com/amazonaws/emr/scaling/ScalingManager.scala -------------------------------------------------------------------------------- /src/main/scala/com/amazonaws/emr/scaling/algo/CpuLoadEvaluator.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/emr-trino-autoscale/HEAD/src/main/scala/com/amazonaws/emr/scaling/algo/CpuLoadEvaluator.scala -------------------------------------------------------------------------------- /src/main/scala/com/amazonaws/emr/scaling/algo/Evaluator.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/emr-trino-autoscale/HEAD/src/main/scala/com/amazonaws/emr/scaling/algo/Evaluator.scala -------------------------------------------------------------------------------- /src/main/scala/com/amazonaws/emr/scaling/algo/ScalingAlgorithm.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/emr-trino-autoscale/HEAD/src/main/scala/com/amazonaws/emr/scaling/algo/ScalingAlgorithm.scala -------------------------------------------------------------------------------- /src/main/scala/com/amazonaws/emr/scaling/algo/StepScalingAlgorithm.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/emr-trino-autoscale/HEAD/src/main/scala/com/amazonaws/emr/scaling/algo/StepScalingAlgorithm.scala -------------------------------------------------------------------------------- /src/main/scala/com/amazonaws/emr/utils/CloudWatch.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/emr-trino-autoscale/HEAD/src/main/scala/com/amazonaws/emr/utils/CloudWatch.scala -------------------------------------------------------------------------------- /src/main/scala/com/amazonaws/emr/utils/FixedList.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/emr-trino-autoscale/HEAD/src/main/scala/com/amazonaws/emr/utils/FixedList.scala -------------------------------------------------------------------------------- /src/test/scala/com/amazonaws/emr/metrics/MetricStoreTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/emr-trino-autoscale/HEAD/src/test/scala/com/amazonaws/emr/metrics/MetricStoreTest.scala -------------------------------------------------------------------------------- /templates/trino-cluster-if.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/emr-trino-autoscale/HEAD/templates/trino-cluster-if.yml -------------------------------------------------------------------------------- /templates/trino-cluster-ig.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/emr-trino-autoscale/HEAD/templates/trino-cluster-ig.yml --------------------------------------------------------------------------------