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: My Pack
description: An optimization pack to optimize a custom framework
version: 0.0.1
tags: [Apache, Framework]
weight: 1
Field
Type
Value restrictions
Is required
Default value
Description

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.

Building optimization pack descriptor

The following command needs to be executed to produce the final JSON descriptor:

After this, the optimization pack can be installed and used.

Installing an Optimization Pack

Once the JSON descriptor is generated, the optimization pack can be created in Akamas by executing the following command:

Upgrading an Optimization Pack

To upgrade an optimization pack, ensure the following:

  1. The name of the optimization pack in the updated JSON is identical to the one already present in Akamas.

  2. A new version is specified in the updated JSON.

Run the following command to apply the upgrade:

This will replace the existing optimization pack with the updated version.

Rollback to a Previous Version

To rollback to a previous version of the optimization pack, execute the following command, specifying the desired version:

This will revert the optimization pack in Akamas to the specified version.


By following these steps, you can effectively create, upgrade, and manage optimization packs in Akamas.

Last updated

Was this helpful?