go_app

command module
v0.0.0-...-66952ce Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 27, 2024 License: Apache-2.0 Imports: 11 Imported by: 0

README

ASATS test app

This app is used in the app-autoscaler acceptance test suite (ASATS) to generate metrics to test end-to-end scenarios.

The app can be made to consume and release on demand:

  • main memory
  • CPU
  • hard disk

It can be used to emit custom metrics.

It can be used to respond to HTTP requests:

  • as fast as possible
  • or with a configurable request latency

The API of the test app is not part of the public API and may change at any time.

Still, the app can be useful during development and one such use case is described in detail in the next section.

Deploy Test Application with Custom Metrics

Sample Autoscaling Policy

Autoscaling policy is available at test-policy.json

{
  "instance_min_count": 1,
  "instance_max_count": 2,
  "scaling_rules": [
    {
      "metric_type": "review_count",
      "breach_duration_secs": 60,
      "threshold": 200,
      "operator": ">=",
      "cool_down_secs": 60,
      "adjustment": "+1"
    },
    {
      "metric_type": "review_count",
      "breach_duration_secs": 60,
      "threshold": 100,
      "operator": "<=",
      "cool_down_secs": 60,
      "adjustment": "-1"
    }
  ]
}
Deploy Test Application

Prepare acceptance_config.json. Example acceptance_config.json

CONFIG=$PWD/acceptance_config.json make deploy-test-app && \
#attach autoscaling policy (as defined above)
cf attach-autoscaling-policy test_app test-policy.json && \
# show autoscaling policy using autoscaler cli plugin
cf asp test_app
Send Custom Metrics
# scale out 
APP_ROUTE=$(cf app test_app | grep routes | awk '{print $2}')
curl https://$APP_ROUTE/custom-metrics/mtls/review_count/201

# scale In 
APP_ROUTE=$(cf app test_app | grep routes | awk '{print $2}')
curl https://$APP_ROUTE/custom-metrics/mtls/review_count/78
View Metrics in Log Cache

Metrics are ingested into log-cache and can be viewed using CF Log Cache CLI Plugin

cf tail --name-filter="review_count" test_app --follow

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
app

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL