diff --git a/CHANGELOG.next.asciidoc b/CHANGELOG.next.asciidoc index 36a2ef96432..c3356cbc880 100644 --- a/CHANGELOG.next.asciidoc +++ b/CHANGELOG.next.asciidoc @@ -281,6 +281,7 @@ https://github.com/elastic/beats/compare/v7.0.0-alpha2...master[Check the HEAD d - Release vsphere module as GA. {issue}15798[15798] {pull}17119[17119] - Add Storage metricsets to GCP module {pull}15598[15598] - Added documentation for running Metricbeat in Cloud Foundry. {pull}17275[17275] +- Add final tests and move label to GA for the azure module in metricbeat. {pull}17319[17319] *Packetbeat* diff --git a/metricbeat/docs/modules/azure.asciidoc b/metricbeat/docs/modules/azure.asciidoc index a19996d7c2a..e02484698a1 100644 --- a/metricbeat/docs/modules/azure.asciidoc +++ b/metricbeat/docs/modules/azure.asciidoc @@ -6,8 +6,6 @@ This file is generated! See scripts/mage/docs_collector.go [role="xpack"] == azure module -beta[] - This is the azure module. The Azure Monitor feature collects and aggregates logs and metrics from a variety of sources into a common data platform where it can be used for analysis, visualization, and alerting. diff --git a/metricbeat/docs/modules/azure/compute_vm.asciidoc b/metricbeat/docs/modules/azure/compute_vm.asciidoc index 39d3be6eae0..2cf7e6050e7 100644 --- a/metricbeat/docs/modules/azure/compute_vm.asciidoc +++ b/metricbeat/docs/modules/azure/compute_vm.asciidoc @@ -5,8 +5,6 @@ This file is generated! See scripts/mage/docs_collector.go [[metricbeat-metricset-azure-compute_vm]] === azure compute_vm metricset -beta[] - include::../../../../x-pack/metricbeat/module/azure/compute_vm/_meta/docs.asciidoc[] diff --git a/metricbeat/docs/modules/azure/compute_vm_scaleset.asciidoc b/metricbeat/docs/modules/azure/compute_vm_scaleset.asciidoc index 0bc72248c53..7433ba21d63 100644 --- a/metricbeat/docs/modules/azure/compute_vm_scaleset.asciidoc +++ b/metricbeat/docs/modules/azure/compute_vm_scaleset.asciidoc @@ -5,8 +5,6 @@ This file is generated! See scripts/mage/docs_collector.go [[metricbeat-metricset-azure-compute_vm_scaleset]] === azure compute_vm_scaleset metricset -beta[] - include::../../../../x-pack/metricbeat/module/azure/compute_vm_scaleset/_meta/docs.asciidoc[] diff --git a/metricbeat/docs/modules/azure/container_instance.asciidoc b/metricbeat/docs/modules/azure/container_instance.asciidoc index 88f1959637d..5805cb35aac 100644 --- a/metricbeat/docs/modules/azure/container_instance.asciidoc +++ b/metricbeat/docs/modules/azure/container_instance.asciidoc @@ -5,8 +5,6 @@ This file is generated! See scripts/mage/docs_collector.go [[metricbeat-metricset-azure-container_instance]] === azure container_instance metricset -beta[] - include::../../../../x-pack/metricbeat/module/azure/container_instance/_meta/docs.asciidoc[] This is a default metricset. If the host module is unconfigured, this metricset is enabled by default. diff --git a/metricbeat/docs/modules/azure/container_registry.asciidoc b/metricbeat/docs/modules/azure/container_registry.asciidoc index 67ff888d807..4c5e936f965 100644 --- a/metricbeat/docs/modules/azure/container_registry.asciidoc +++ b/metricbeat/docs/modules/azure/container_registry.asciidoc @@ -5,8 +5,6 @@ This file is generated! See scripts/mage/docs_collector.go [[metricbeat-metricset-azure-container_registry]] === azure container_registry metricset -beta[] - include::../../../../x-pack/metricbeat/module/azure/container_registry/_meta/docs.asciidoc[] This is a default metricset. If the host module is unconfigured, this metricset is enabled by default. diff --git a/metricbeat/docs/modules/azure/container_service.asciidoc b/metricbeat/docs/modules/azure/container_service.asciidoc index 2aed94c7749..49f55819448 100644 --- a/metricbeat/docs/modules/azure/container_service.asciidoc +++ b/metricbeat/docs/modules/azure/container_service.asciidoc @@ -5,8 +5,6 @@ This file is generated! See scripts/mage/docs_collector.go [[metricbeat-metricset-azure-container_service]] === azure container_service metricset -beta[] - include::../../../../x-pack/metricbeat/module/azure/container_service/_meta/docs.asciidoc[] This is a default metricset. If the host module is unconfigured, this metricset is enabled by default. diff --git a/metricbeat/docs/modules/azure/database_account.asciidoc b/metricbeat/docs/modules/azure/database_account.asciidoc index 1d08d27a335..8d28d132fd4 100644 --- a/metricbeat/docs/modules/azure/database_account.asciidoc +++ b/metricbeat/docs/modules/azure/database_account.asciidoc @@ -5,8 +5,6 @@ This file is generated! See scripts/mage/docs_collector.go [[metricbeat-metricset-azure-database_account]] === azure database_account metricset -beta[] - include::../../../../x-pack/metricbeat/module/azure/database_account/_meta/docs.asciidoc[] This is a default metricset. If the host module is unconfigured, this metricset is enabled by default. diff --git a/metricbeat/docs/modules/azure/monitor.asciidoc b/metricbeat/docs/modules/azure/monitor.asciidoc index 1596987e18e..726562c0ca7 100644 --- a/metricbeat/docs/modules/azure/monitor.asciidoc +++ b/metricbeat/docs/modules/azure/monitor.asciidoc @@ -5,8 +5,6 @@ This file is generated! See scripts/mage/docs_collector.go [[metricbeat-metricset-azure-monitor]] === azure monitor metricset -beta[] - include::../../../../x-pack/metricbeat/module/azure/monitor/_meta/docs.asciidoc[] This is a default metricset. If the host module is unconfigured, this metricset is enabled by default. diff --git a/metricbeat/docs/modules/azure/storage.asciidoc b/metricbeat/docs/modules/azure/storage.asciidoc index 21a073d0b06..695bb3359a0 100644 --- a/metricbeat/docs/modules/azure/storage.asciidoc +++ b/metricbeat/docs/modules/azure/storage.asciidoc @@ -5,8 +5,6 @@ This file is generated! See scripts/mage/docs_collector.go [[metricbeat-metricset-azure-storage]] === azure storage metricset -beta[] - include::../../../../x-pack/metricbeat/module/azure/storage/_meta/docs.asciidoc[] diff --git a/metricbeat/docs/modules_list.asciidoc b/metricbeat/docs/modules_list.asciidoc index a8a6f204203..b324627d173 100644 --- a/metricbeat/docs/modules_list.asciidoc +++ b/metricbeat/docs/modules_list.asciidoc @@ -32,15 +32,15 @@ This file is generated! See scripts/mage/docs_collector.go |<> beta[] |<> beta[] |<> beta[] -|<> beta[] |image:./images/icon-yes.png[Prebuilt dashboards are available] | -.8+| .8+| |<> beta[] -|<> beta[] -|<> beta[] -|<> beta[] -|<> beta[] -|<> beta[] -|<> beta[] -|<> beta[] +|<> |image:./images/icon-yes.png[Prebuilt dashboards are available] | +.8+| .8+| |<> +|<> +|<> +|<> +|<> +|<> +|<> +|<> |<> |image:./images/icon-no.png[No prebuilt dashboards] | .2+| .2+| |<> |<> diff --git a/x-pack/metricbeat/module/azure/_meta/fields.yml b/x-pack/metricbeat/module/azure/_meta/fields.yml index 61913ce0019..2e27d9fda2d 100644 --- a/x-pack/metricbeat/module/azure/_meta/fields.yml +++ b/x-pack/metricbeat/module/azure/_meta/fields.yml @@ -2,7 +2,7 @@ title: "azure" description: > azure module - release: beta + release: ga fields: - name: azure type: group diff --git a/x-pack/metricbeat/module/azure/azure.go b/x-pack/metricbeat/module/azure/azure.go index b321ac5f8ae..bc70de81bcc 100644 --- a/x-pack/metricbeat/module/azure/azure.go +++ b/x-pack/metricbeat/module/azure/azure.go @@ -8,8 +8,6 @@ import ( "fmt" "time" - "github.com/elastic/beats/v7/libbeat/common/cfgwarn" - "github.com/pkg/errors" "github.com/elastic/beats/v7/metricbeat/mb" @@ -82,7 +80,6 @@ type MetricSet struct { // NewMetricSet will instantiate a new azure metricset func NewMetricSet(base mb.BaseMetricSet) (*MetricSet, error) { metricsetName := base.Name() - cfgwarn.Beta("The azure %s metricset is beta.", metricsetName) var config Config err := base.Module().UnpackConfig(&config) if err != nil { diff --git a/x-pack/metricbeat/module/azure/compute_vm/_meta/fields.yml b/x-pack/metricbeat/module/azure/compute_vm/_meta/fields.yml index 01ad69f5375..e8c1bdfff09 100644 --- a/x-pack/metricbeat/module/azure/compute_vm/_meta/fields.yml +++ b/x-pack/metricbeat/module/azure/compute_vm/_meta/fields.yml @@ -1,5 +1,5 @@ - name: compute_vm.*.* - release: beta + release: ga type: object object_type: float object_type_mapping_type: "*" diff --git a/x-pack/metricbeat/module/azure/compute_vm/compute_vm_integration_test.go b/x-pack/metricbeat/module/azure/compute_vm/compute_vm_integration_test.go index f5f988d41f3..3e197f186b3 100644 --- a/x-pack/metricbeat/module/azure/compute_vm/compute_vm_integration_test.go +++ b/x-pack/metricbeat/module/azure/compute_vm/compute_vm_integration_test.go @@ -25,6 +25,8 @@ func TestFetchMetricset(t *testing.T) { t.Fatalf("Expected 0 error, had %d. %v\n", len(errs), errs) } assert.NotEmpty(t, events) + test.TestFieldsDocumentation(t, events) + } func TestData(t *testing.T) { diff --git a/x-pack/metricbeat/module/azure/compute_vm_scaleset/_meta/fields.yml b/x-pack/metricbeat/module/azure/compute_vm_scaleset/_meta/fields.yml index bd216e771e2..59aa1719b27 100644 --- a/x-pack/metricbeat/module/azure/compute_vm_scaleset/_meta/fields.yml +++ b/x-pack/metricbeat/module/azure/compute_vm_scaleset/_meta/fields.yml @@ -1,5 +1,5 @@ - name: compute_vm_scaleset.*.* - release: beta + release: ga type: object object_type: float object_type_mapping_type: "*" diff --git a/x-pack/metricbeat/module/azure/compute_vm_scaleset/compute_vm_scaleset_integration_test.go b/x-pack/metricbeat/module/azure/compute_vm_scaleset/compute_vm_scaleset_integration_test.go index b48d7a65c5f..fc11506d890 100644 --- a/x-pack/metricbeat/module/azure/compute_vm_scaleset/compute_vm_scaleset_integration_test.go +++ b/x-pack/metricbeat/module/azure/compute_vm_scaleset/compute_vm_scaleset_integration_test.go @@ -25,6 +25,7 @@ func TestFetchMetricset(t *testing.T) { t.Fatalf("Expected 0 error, had %d. %v\n", len(errs), errs) } assert.NotEmpty(t, events) + test.TestFieldsDocumentation(t, events) } func TestData(t *testing.T) { diff --git a/x-pack/metricbeat/module/azure/container_instance/_meta/fields.yml b/x-pack/metricbeat/module/azure/container_instance/_meta/fields.yml index d79ddd14999..f6ad2b7eeda 100644 --- a/x-pack/metricbeat/module/azure/container_instance/_meta/fields.yml +++ b/x-pack/metricbeat/module/azure/container_instance/_meta/fields.yml @@ -1,5 +1,5 @@ - name: container_instance.*.* - release: beta + release: ga type: object object_type: float object_type_mapping_type: "*" diff --git a/x-pack/metricbeat/module/azure/container_instance/container_instance_integration_test.go b/x-pack/metricbeat/module/azure/container_instance/container_instance_integration_test.go index 4808c3fde5d..700e606a039 100644 --- a/x-pack/metricbeat/module/azure/container_instance/container_instance_integration_test.go +++ b/x-pack/metricbeat/module/azure/container_instance/container_instance_integration_test.go @@ -28,6 +28,7 @@ func TestFetchMetricset(t *testing.T) { t.Fatalf("Expected 0 error, had %d. %v\n", len(errs), errs) } assert.NotEmpty(t, events) + test.TestFieldsDocumentation(t, events) } func TestData(t *testing.T) { diff --git a/x-pack/metricbeat/module/azure/container_registry/_meta/fields.yml b/x-pack/metricbeat/module/azure/container_registry/_meta/fields.yml index c8296603a77..60e9390bea0 100644 --- a/x-pack/metricbeat/module/azure/container_registry/_meta/fields.yml +++ b/x-pack/metricbeat/module/azure/container_registry/_meta/fields.yml @@ -1,5 +1,5 @@ - name: container_registry.*.* - release: beta + release: ga type: object object_type: float object_type_mapping_type: "*" diff --git a/x-pack/metricbeat/module/azure/container_registry/container_registry_integration_test.go b/x-pack/metricbeat/module/azure/container_registry/container_registry_integration_test.go index 3f6fceb64d7..a820e252a36 100644 --- a/x-pack/metricbeat/module/azure/container_registry/container_registry_integration_test.go +++ b/x-pack/metricbeat/module/azure/container_registry/container_registry_integration_test.go @@ -28,6 +28,7 @@ func TestFetchMetricset(t *testing.T) { t.Fatalf("Expected 0 error, had %d. %v\n", len(errs), errs) } assert.NotEmpty(t, events) + test.TestFieldsDocumentation(t, events) } func TestData(t *testing.T) { diff --git a/x-pack/metricbeat/module/azure/container_service/_meta/fields.yml b/x-pack/metricbeat/module/azure/container_service/_meta/fields.yml index 9cccb41591d..669ab5690f3 100644 --- a/x-pack/metricbeat/module/azure/container_service/_meta/fields.yml +++ b/x-pack/metricbeat/module/azure/container_service/_meta/fields.yml @@ -1,5 +1,5 @@ - name: container_service.*.* - release: beta + release: ga type: object object_type: float object_type_mapping_type: "*" diff --git a/x-pack/metricbeat/module/azure/container_service/container_service_integration_test.go b/x-pack/metricbeat/module/azure/container_service/container_service_integration_test.go index dfb1017c74f..821d2049e87 100644 --- a/x-pack/metricbeat/module/azure/container_service/container_service_integration_test.go +++ b/x-pack/metricbeat/module/azure/container_service/container_service_integration_test.go @@ -28,6 +28,7 @@ func TestFetchMetricset(t *testing.T) { t.Fatalf("Expected 0 error, had %d. %v\n", len(errs), errs) } assert.NotEmpty(t, events) + test.TestFieldsDocumentation(t, events) } func TestData(t *testing.T) { diff --git a/x-pack/metricbeat/module/azure/database_account/_meta/fields.yml b/x-pack/metricbeat/module/azure/database_account/_meta/fields.yml index 60f53a8fa58..7a2e82b3aae 100644 --- a/x-pack/metricbeat/module/azure/database_account/_meta/fields.yml +++ b/x-pack/metricbeat/module/azure/database_account/_meta/fields.yml @@ -1,5 +1,5 @@ - name: database_account.*.* - release: beta + release: ga type: object object_type: float object_type_mapping_type: "*" diff --git a/x-pack/metricbeat/module/azure/database_account/database_account_integration_test.go b/x-pack/metricbeat/module/azure/database_account/database_account_integration_test.go index 0ec41fdd8a4..e8ab246834c 100644 --- a/x-pack/metricbeat/module/azure/database_account/database_account_integration_test.go +++ b/x-pack/metricbeat/module/azure/database_account/database_account_integration_test.go @@ -25,6 +25,7 @@ func TestFetchMetricset(t *testing.T) { t.Fatalf("Expected 0 error, had %d. %v\n", len(errs), errs) } assert.NotEmpty(t, events) + test.TestFieldsDocumentation(t, events) } func TestData(t *testing.T) { diff --git a/x-pack/metricbeat/module/azure/fields.go b/x-pack/metricbeat/module/azure/fields.go index 478d649d8a2..7f92f16265e 100644 --- a/x-pack/metricbeat/module/azure/fields.go +++ b/x-pack/metricbeat/module/azure/fields.go @@ -19,5 +19,5 @@ func init() { // AssetAzure returns asset data. // This is the base64 encoded gzipped contents of module/azure. func AssetAzure() string { - return "eJzUls+OmzAQxu95ilGOkTYPwKFSpV566K135JgJnS7YaGbYij59RQCv+b9pe0h8iBTbfN/38wwWL/CKTQLmd814AFDSAhM43v4fDwAZimWqlLxL4NMBALq9UPqsLtpHGAs0gglcUM0B4EpYZJLctr6AMyW+y7dDmwoTyNnXVT+z4DGWiaWUSszZkAsrg+QrNr88Z9H8onA3vv9A+NyBoDLZBd3BkVF8zRZnhjHDB+wGHZAKLV0J46hT3BFyU+FoYZ14J8YQpX0c/BU0irVoPUX8D97hGObaAdjkcj4t2vrLT7Q6Weom061g0Za0NFVFLu/3H0/H+yC6tgkYt7Czpml/pTILXXN3mwYpECzQatQ3g5vUlyCRUvbvnrEgfP0yM8yoRCfk3bhOKzXaqc9Ha7ORefQqR+Fmwa0vq1oxfSvPp1H06TV2D9K18GZl8W+B3nNuIKRiTYGC+iwsIXBYX6Bzasghp+REjbP46HB9XhjybiAx5iTKzbMgDXk3kAT5jZ6nSH3c+YVm1FyMYGqs9bV78DdqSAt92hlO6R2p591PljWuDe+59Na3S3cly+Q4N45u9/juOcIdlHZ86wICo9bsMDuvX02ink3+4K3ehwyd8ScAAP//n2w3Eg==" + return "eJzUlsGOmzAQhu95ilGOkTYPwKFSpV566K135JgJnS7Y1sywFX36igBeEwhs2h4SHyLFNv//f57B4gVesc3A/G4YdwBKWmEG+8v//Q6gQLFMQcm7DD7tAKDfC7Uvmqp7hLFCI5hBaXYAZ8KqkOyy8QWcqfFdvBvahm4r+yYMMwsOU5lUSqnGkg25uDJKvmL7y3ORzC8K9+P7D4TPPQYqk13QHR0ZxTdscWaYMnzAbtQBCWjpTJhGvcadILcBJwu3iTdijFG6x8GfQZNYi9bXiP/BOx7DXDsCm1KOh0Vbf/qJVq+W+sl8LViyJa9NCOTKYf/+sL8Pom+biHEJO2ua7leCWeiau9s0SoFghVaTvhndpDlFiZyKf/dMBeHrl5lhQTU6Ie+mdbpRo436fLQ2K5knr3ISbhbc+jo0ivlbfTxMok8vsXuAzpU3Nxb/Fuc95QpALtZUKKjPQRLjxvUFNqeGHHJOTtQ4i4+NNqSFMe0KEGNJotw+B9CYdgVIkN/oWQo0hJ1fY0bNyQjmxlrfuId+k8asMGSdwdTekXre/ExZplpxnguvfa30l7BcHeXKwW0e3j0HuIHSjW99QGDUhh0Wx9sXkqhnUz50kw8RY1f8CQAA//+sjy+e" } diff --git a/x-pack/metricbeat/module/azure/monitor/_meta/fields.yml b/x-pack/metricbeat/module/azure/monitor/_meta/fields.yml index ef31dd9af5b..139b2c38047 100644 --- a/x-pack/metricbeat/module/azure/monitor/_meta/fields.yml +++ b/x-pack/metricbeat/module/azure/monitor/_meta/fields.yml @@ -1,6 +1,6 @@ - name: monitor type: group - release: beta + release: ga description: > monitor fields: diff --git a/x-pack/metricbeat/module/azure/monitor/monitor_integration_test.go b/x-pack/metricbeat/module/azure/monitor/monitor_integration_test.go index f37a87f18c8..1feba658f85 100644 --- a/x-pack/metricbeat/module/azure/monitor/monitor_integration_test.go +++ b/x-pack/metricbeat/module/azure/monitor/monitor_integration_test.go @@ -25,6 +25,7 @@ func TestFetchMetricset(t *testing.T) { t.Fatalf("Expected 0 error, had %d. %v\n", len(errs), errs) } assert.NotEmpty(t, events) + test.TestFieldsDocumentation(t, events) } func TestData(t *testing.T) { diff --git a/x-pack/metricbeat/module/azure/storage/_meta/fields.yml b/x-pack/metricbeat/module/azure/storage/_meta/fields.yml index c103e77f841..0e699901c8a 100644 --- a/x-pack/metricbeat/module/azure/storage/_meta/fields.yml +++ b/x-pack/metricbeat/module/azure/storage/_meta/fields.yml @@ -1,5 +1,5 @@ - name: storage.*.* - release: beta + release: ga type: object object_type: float object_type_mapping_type: "*" diff --git a/x-pack/metricbeat/module/azure/storage/storage_integration_test.go b/x-pack/metricbeat/module/azure/storage/storage_integration_test.go index f3a3f906173..532ef492775 100644 --- a/x-pack/metricbeat/module/azure/storage/storage_integration_test.go +++ b/x-pack/metricbeat/module/azure/storage/storage_integration_test.go @@ -25,6 +25,7 @@ func TestFetchMetricset(t *testing.T) { t.Fatalf("Expected 0 error, had %d. %v\n", len(errs), errs) } assert.NotEmpty(t, events) + test.TestFieldsDocumentation(t, events) } func TestData(t *testing.T) { diff --git a/x-pack/metricbeat/module/azure/test/integration.go b/x-pack/metricbeat/module/azure/test/integration.go index 7187e3b93f7..91a30175bca 100644 --- a/x-pack/metricbeat/module/azure/test/integration.go +++ b/x-pack/metricbeat/module/azure/test/integration.go @@ -5,8 +5,13 @@ package test import ( + "errors" "os" "testing" + + "github.com/stretchr/testify/assert" + + "github.com/elastic/beats/v7/metricbeat/mb" ) // GetConfig function gets azure credentials for integration tests. @@ -40,3 +45,68 @@ func GetConfig(t *testing.T, metricSetName string) map[string]interface{} { "subscription_id": subId, } } + +// TestFieldsDocumentation func checks if all the documented fields have the expected type +func TestFieldsDocumentation(t *testing.T, events []mb.Event) { + for _, event := range events { + // RootField + checkIsDocumented("service.name", "string", event, t) + checkIsDocumented("cloud.provider", "string", event, t) + checkIsDocumented("cloud.region", "string", event, t) + checkIsDocumented("cloud.instance.name", "string", event, t) + checkIsDocumented("cloud.instance.id", "string", event, t) + + // MetricSetField + checkIsDocumented("azure.timegrain", "string", event, t) + checkIsDocumented("azure.subscription_id", "string", event, t) + checkIsDocumented("azure.namespace", "string", event, t) + checkIsDocumented("azure.resource.type", "string", event, t) + checkIsDocumented("azure.resource.group", "string", event, t) + } +} + +// checkIsDocumented function checks a given field type and compares it with the expected type for integration tests. +// this implementation is only temporary, will be replaced by issue https://github.com/elastic/beats/issues/17315 +func checkIsDocumented(metricName string, expectedType string, event mb.Event, t *testing.T) { + t.Helper() + + ok1, err1 := event.MetricSetFields.HasKey(metricName) + ok2, err2 := event.RootFields.HasKey(metricName) + if ok1 || ok2 { + if ok1 { + assert.NoError(t, err1) + metricValue, err := event.MetricSetFields.GetValue(metricName) + assert.NoError(t, err) + err = compareType(metricValue, expectedType, metricName) + assert.NoError(t, err) + t.Log("Succeed: Field " + metricName + " matches type " + expectedType) + } else if ok2 { + assert.NoError(t, err2) + rootValue, err := event.RootFields.GetValue(metricName) + assert.NoError(t, err) + err = compareType(rootValue, expectedType, metricName) + assert.NoError(t, err) + t.Log("Succeed: Field " + metricName + " matches type " + expectedType) + } + } else { + t.Log("Field " + metricName + " does not exist in metric set fields") + } +} + +func compareType(metricValue interface{}, expectedType string, metricName string) (err error) { + switch metricValue.(type) { + case float64: + if expectedType != "float" { + err = errors.New("Failed: Field " + metricName + " is not in type " + expectedType) + } + case string: + if expectedType != "string" { + err = errors.New("Failed: Field " + metricName + " is not in type " + expectedType) + } + case int64: + if expectedType != "int" { + err = errors.New("Failed: Field " + metricName + " is not in type " + expectedType) + } + } + return +}