CustomVocabulary

com.netflix.atlas.core.model.CustomVocabulary
See theCustomVocabulary companion object
class CustomVocabulary(config: Config, dependencies: List[Vocabulary]) extends Vocabulary

Vocabulary that allows custom extension operations to be loaded from the config.

Value parameters

config

Config instance to use for loading the custom operations. The settings will be loaded from the atlas.core.vocabulary block. Words Custom words can be defined using an expression. These are typically used by the operators to provide common helper functions.

   words = [
     {
       name = "square"
       body = ":dup,:mul"
       examples = ["2"]
     }
   ]

The supported fields are:

  • name: operation name, when the user calls the operation they will use :$name.
  • body: expression that is executed for this operation.
  • examples: set of example stacks that can be used as input to the operator to show how it works. Averages The custom-averages list contains a set of rewrites for averaging based on an arbitrary denominator query. This is typically used to make it easier for performing an average based on a separate infrastructure metric. For example, at Netflix there is a metric published for each instance that is UP in Eureka. To compute an average per UP server we could define a custom average like:
   custom-averages = [
     {
       name = "eureka-avg"
       base-query = "name,eureka.state,:eq,status,UP,:eq,:and"
       keys = ["nf.app", "nf.cluster", "nf.asg", "nf.node"]
     }
   ]

The supported fields are:

  • name: operation name, when the user calls the operation they will use :$name.
  • base-query: query for the denominator.
  • keys: tag keys that are available for use on the denominator.
dependencies

Other vocabularies to depend on, defaults to the StyleVocabulary.

Attributes

Companion
object
Graph
Supertypes
trait Vocabulary
class Object
trait Matchable
class Any

Members list

Value members

Inherited methods

def allWords: List[Word]

Return a flattened list of all words from this vocabulary plus words from all dependencies.

Return a flattened list of all words from this vocabulary plus words from all dependencies.

Attributes

Inherited from:
Vocabulary
def toMarkdown: String

Attributes

Inherited from:
Vocabulary

Concrete fields

val dependsOn: List[Vocabulary]
val name: String
val words: List[Word]