Skip to content

Commit

Permalink
Add Tricharts (#227)
Browse files Browse the repository at this point in the history
* Add trichart as a display type

* Add trichart test
  • Loading branch information
erik-snow authored Jun 4, 2024
1 parent a769a12 commit e951374
Show file tree
Hide file tree
Showing 4 changed files with 70 additions and 3 deletions.
2 changes: 1 addition & 1 deletion .go-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.95.4
1.95.5
8 changes: 6 additions & 2 deletions DEVELOPMENT.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@ If you're contributing changes or code to the provider, the integration tests cr
To run the tests, first get an API key with a Member role for the public environment and run:

```
export TF_ACC_PROVIDER_NAMESPACE="hashicorp"
export TF_ACC_PROVIDER_HOST="registry.opentofu.org"
export TF_ACC_TERRAFORM_PATH="$(which terraform)"
LIGHTSTEP_API_KEY_PUBLIC=(your api key here) make acc-test
```

Expand All @@ -32,8 +35,9 @@ provider_installation {
## Updating docs

Documentation files in `docs` are generated by combining:
* the contents of the `.md.tmpl` template files found in the `template` directory
* field-level documentation configured inline via `Description` attributes in `lightstep/*.go`.

- the contents of the `.md.tmpl` template files found in the `template` directory
- field-level documentation configured inline via `Description` attributes in `lightstep/*.go`.

Any edits to documentation files should be made in the `templates` directory or the .go files. Then you can use the following steps to generate the files in the docs directory:

Expand Down
1 change: 1 addition & 0 deletions lightstep/resource_dashboard.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ func getUnifiedQuerySchemaMap() map[string]*schema.Schema {
"pie",
"table",
"traces_list",
"trichart",
}, false),
},
// See https://github.com/hashicorp/terraform-plugin-sdk/issues/155
Expand Down
62 changes: 62 additions & 0 deletions lightstep/resource_dashboard_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -933,6 +933,59 @@ chart {
`, displayType, displayTypeOptions)
}

func makeTrichartDisplay() string {
return fmt.Sprintf(`
resource "lightstep_dashboard" "test_display_type_options" {
project_name = "` + testProject + `"
dashboard_name = "test trichart"
group {
rank = 0
title = ""
visibility_type = "implicit"
chart {
name = "Chart #123"
type = "timeseries"
rank = 0
x_pos = 4
y_pos = 0
width = 4
height = 4
query {
query_name = "error_ratio"
display = "trichart"
display_type_options {
display_type = "trichart"
}
hidden = false
query_string = "with\n errors = spans count\n | delta\n | filter service == \"web\" && error == true\n | group_by [], sum;\n total = spans count\n | delta\n | filter service == \"web\"\n | group_by [], sum;\n join errors / total, errors=0, total=0"
}
query {
query_name = "latency"
display = "trichart"
display_type_options {
display_type = "trichart"
}
hidden = false
query_string = "spans latency | delta | filter service == \"web\" | group_by [], sum | point percentile(value, 99.0)"
}
query {
query_name = "rate"
display = "trichart"
display_type_options {
display_type = "trichart"
}
hidden = false
query_string = "spans count | rate | filter service == \"web\" | group_by [], sum"
}
}
}
}
`)
}

func TestDisplayTypeOptionsError(t *testing.T) {
var dashboard client.UnifiedDashboard

Expand Down Expand Up @@ -1062,6 +1115,15 @@ func TestDisplayTypeOptions(t *testing.T) {
resource.TestCheckResourceAttr(resourceName, "group.0.chart.0.query.0.display_type_options.0.y_axis_max", "100"),
),
},
{
Config: makeTrichartDisplay(),
Check: resource.ComposeTestCheckFunc(
testAccCheckMetricDashboardExists(resourceName, &dashboard),
resource.TestCheckResourceAttr(resourceName, "dashboard_name", "test trichart"),
resource.TestCheckResourceAttr(resourceName, "group.0.chart.0.query.0.display", "trichart"),
resource.TestCheckResourceAttr(resourceName, "group.0.chart.0.query.0.display_type_options.0.display_type", "trichart"),
),
},
{
Config: makeDisplayTypeConfig("dependency_map", strings.TrimSpace(`
display_type_options {
Expand Down

0 comments on commit e951374

Please sign in to comment.