hashicorp / terraform

Terraform enables you to safely and predictably create, change, and improve infrastructure. It is a source-available tool that codifies APIs into declarative configuration files that can be shared amongst team members, treated as code, edited, reviewed, and versioned.
https://www.terraform.io/
Other
42.6k stars 9.54k forks source link

Feature request - predictable ordering of streams `librato_space_chart` resource #9888

Closed HaydenSikh closed 7 years ago

HaydenSikh commented 7 years ago

Terraform Version

0.7.8

Affected Resource(s)

Does not affect multiple resources.

Terraform Configuration Files

terraform.tgz

Debug Output

gist

Panic Output

N/A

Feature Request

As an engineering setting up a Librato Space, I would like some way of ensuring a consistent ordering to streams in the chart so that I can control the presentation of charts with type = "stacked"

Use cases

  1. Consistency across instances of a module

    Suppose there are a series of metrics relating to the interaction between one upstream service to multiple downstream services, such as count of requests which were successful vs timed out vs non-2xx HTTP status codes, etc. We want to generate a single chart per downstream service which shows all of these metrics at once, and since we sound be measuring all possible outcomes we want to stack the values to verify that they match the number of requests being sent (captured as a separate metric). Since it's multiple instances of the same metrics with just tweaks to part of the metric name to segment, this is a natural fit for a module with the downstream system id passed in as a variable

    However, with current functionality there's no ensure that the streams will be displayed in the charts in any consistent order, meaning that it's more difficult to see a deviation in one service versus others.

  2. Meaning in the ordering

    Suppose each service records metrics from their internal perspective oh how they respond to requests. Some requests may be rejected for being invalid, others are valid but the service decides to pass on responding with content, and others still get responses with content depending on passing through gates in the business logic. Since these capture all the responses to all requests, we want those streams stacked. Even beyond that, though, we want the streams to appear in an order matching the business logic funnel with invalid request metrics first, then ignored request metrics, then the content metrics.

ghost commented 4 years ago

I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues.

If you have found a problem that seems similar to this, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.