Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The meta descriptor where user could used to guide how to store the metrics. This is including how the data should be persisted like storage reference, row-key generation for HBASE, or druid column mapping.// TODO : detailed descriptor schema

The storage should be metadata driven by a meta descriptor. A meta descriptor would be kind of metadata that eagle storage framework should based on.

Below is an storage meta descriptor which describe how to store this entity in hbase. If other storage option is supported, a new node under "storage" would be added and consumed by the storage framework.

Code Block
{
   "id" : "meta-descriptor-1",
   "fields" : {
		"field3":{ 
			"name" : "field3",
 			"datatype" : "string"
	 	}
		....// other fields
   },
   "storage": {
		"hbase": {
			"table": "alertdef",
			"columNameGenerator" : "alaphbetGenerator"
			"prefix" : "alertdef",
			"serviceName":"AlertDefinitionService",
			"timeseries" : false
		 	"tags": [
				"site",
				"dataSource",
				"alertExecutorId",
				"policyId",
				"policyType"
			],
			"indexes": {
				"Index_1_alertExecutorId" : {
				"columns": [ "alertExecutorID" ],
				"unique": true
			}
	}
}

 

 

Persist Storage Meta

This is the underling storage where eagle store the metrics. The default is hbase metric which is built in eagle. Druid might also be an option.

...

Currently, this metric API is left highly coupled with the underlying storage, for hbase metric, use the eagle metric API. For druid, use the druid query API. Ideally, user might use SQL-style query to get the metrics.