Component Types template

Component types are defined using a YAML manifest with the following structure:

# General section
name: function_branin
description: A component type for the branin analytical function

# Parameters section
parameters:
  - name: x1
    domain:
      type: real
      domain: [-5.0, 10.0]
    defaultValue: -5.0
    decimals: 3
    operators:
    FileConfigurator:
      confTemplate: "${value}"

  - name: x2
    domain:
      type: real
      domain: [0.0, 15.0]
    defaultValue: 0.0

  - name: x3
    domain:
      type: categorical
      categories: [cat1,cat2,cat3]
    operators:
    LinuxConfigurator:
      echo:
        file: /sys/class/block/nvme0n1/queue/scheduler

# Metrics section
metrics:
  - name: function_value

and properties for the general section:

The parameter section describes the relationship between the component type and already defined parameters with the following properties:

The metric section describes the relationship between the component type and already defined metrics with the following properties:

Notice that component type definitions are shared across all the workspaces on the same Akamas installation, and require an account with administrative privileges to manage them.

Examples

Example of a component for the Cassandra component type:

name: Cassandra
description: The Cassandra NoSQL database version 3
parameters:
  - name: cassandra_compactionStrategy
    domain:
      type: categorical
      categories: [A, B]
    defaultValue: A

metrics:
  - name: total_rate
  - name: read_rate
  - name: write_rate
  - name: read_response_time_avg
  - name: read_response_time_p90
  - name: read_response_time_p99
  - name: read_response_time_max
  - name: write_response_time_avg
  - name: write_response_time_p90
  - name: write_response_time_p99
  - name: write_response_time_max

Example of a component for the Linux operating component type:

name: Linux OS
description: A component type for the Linux Operating System
parameters:
  #CPU Related
  - name: os_cpuSchedMinGranularity
    domain:
      type: integer
      domain: [300000, 30000000]
    defaultValue: 3000000
  - name: os_cpuSchedWakeupGranularity
    domain:
      type: integer
      domain: [400000, 40000000]
    defaultValue: 4000000
  - name: osCpu.schedMigrationCost
    domain:
      type: integer
      domain: [100000, 5000000]
    defaultValue: 500000
  - name: os_CPUSchedChildRunsFirst
    domain:
      type: integer
      domain: [0, 1]
    defaultValue: 0
  - name: os_CPUSchedLatency
    domain:
      type: integer
      domain: [2400000, 240000000]
    defaultValue: 24000000
  - name: os_CPUSchedAutogroupEnabled
    domain:
      type: integer
      domain: [0, 1]
    defaultValue: 1
  - name: os_CPUSchedNrMigrate
    domain:
      type: integer
      domain: [3, 320]
    defaultValue: 32
  #Memory Related
  - name: os_MemorySwappiness
    domain:
      type: integer
      domain: [0, 100]
    defaultValue: 60
  - name: os_MemoryVmVfsCachePressure
    domain:
      type: integer
      domain: [10, 100]
    defaultValue: 100
  - name: os_MemoryVmMinFree
    domain:
      type: integer
      domain: [10240, 1024000]
    defaultValue: 67584
  - name: os_MemoryVmDirtyRatio
    domain:
      type: integer
      domain: [1, 99]
    defaultValue: 10
  - name: os_MemoryTransparentHugepageEnabled
    domain:
      type: categorical
      categories: ['True', 'False']
    defaultValue: 'True'
  - name: os_MemoryTransparentHugepageDefrag
    domain:
      type: categorical
      categories: ['True', 'False']
    defaultValue: 'True'
  - name: os_MemorySwap
    domain:
      type: categorical
      categories: ['True', 'False']
    defaultValue: 'True'
  - name: os_MemoryVmDirtyExpire
    domain:
      type: integer
      domain: [300, 30000]
    defaultValue: 3000
  - name: os_MemoryVmDirtyWriteback
    domain:
      type: integer
      domain: [50, 5000]
    defaultValue: 500

metrics:
  - name: cpu_num
  - name: cpu_util
  - name: mem_util
  - name: load_avg
  - name: swapins
  - name: swapouts
  - name: disk_iops_writes
  - name: disk_iops_reads
  - name: disk_iops_total
  - name: disk_await_worst
  - name: proc_blocked
  - name: context_switch
  - name: tcp_retrans
  - name: tcp_tozerowin
  - name: net_band_rx_bits
  - name: net_band_tx_bits
  - name: network_in_byte_rate
  - name: network_out_byte_rate
  - name: mem_fault_minor
  - name: mem_fault_major
  - name: mem_active_file
  - name: mem_active_anon
  - name: mem_inactive_file
  - name: mem_inactive_anon

Last updated