Creating custom optimization packs

To create a custom optimization pack, the following fixed directory structure and several YAML manifests need to be created.

Optimization pack directory structure

my_dir
|_ optimizationPack.yaml
|_ component-types
|  |_ componentType1.yaml
|
|_ metrics
|  |_ metricsGroup1.yaml
|
|_ parameters
|  |_ parametersGroup1.yaml
|
|_ telemetry-providers
|_ provider1.yaml

Optimization pack manifest

The optimizationPack.yaml file is the manifest of the optimization pack to be created, which should always be named optimizationPack and have the following structure:

name: Java_8_Optimization_Pack
description: An optimization pack for the Java Hotspot JVM version 8
weight: 1
version: 1.0.0
tags:
- java
- jvm

where:

FieldTypeValue restrictionsIs requiredDefault valueDescription

name

string

It should not contain spaces.

TRUE

The name of the optimization pack.

description

string

TRUE

A description to characterize the optimization pack.

weight

integer

weight > 0

TRUE

A weight to be associated to the optimization pack. This field is used for licensing purposes.

version

string

It should match the regexp: \d.\d.\d

TRUE

The version of the optimization pack.

tags

array of string

FALSE

An empty array

A set of tags to make the optimization pack more easily searchable and discoverable.

Component types

The component-types directory should contain the manifests of the component types to be included in the optimization pack. No particular naming constraint is enforced on those manifests.

See Component Types template for details on the structure of those manifests.

Metrics

The metrics directory should contain the manifests of the groups of metrics to be included in the optimization pack. No particular naming constraint is enforced on those manifests.

See Metric template for details on the structure of those manifests.

Parameters

The parameters directory should contain the manifests of the groups of parameters to be included in the optimization pack. No particular naming constraint is enforced on those manifests.

See Parameter template for details on the structure of those manifests.

Telemetry providers

The telemetry-providers directory should contain the manifests of the groups of parameters to be included in the optimization pack. No particular naming is enforced on those manifests.

See Telemetry Provider template for details on the structure of those manifests.

Building optimization pack descriptor

The following command need to be executed in order to produce the final JSON descriptor:

akamas build optimization-pack PATH_TO_THE_DIRECTORY

After this, the optimization pack can be installed (and then used) as described on the Managing optimization packs page.

Last updated