Skip to main content

Using "signaloid.yaml" Files

Instruct the Signaloid Cloud Compute Engine about your application using a signaloid.yaml configuration file.

For source code repositories, you can add a signaloid.yaml file at the top-level directory of your repository to provide additional context for the Signaloid Cloud Developer Platform. You can use this file to specify a minimum core configuration recommended for the repository and also specify any variables that should be automatically traced when running on Reference cores.

Recommending minimum Core requirements for your application

If your application requires a specific Core configuration to run correctly (e.g., a minimum amount of memory to load data files), you can use the signaloid.yaml file to declare the minimum core specification required for your application. The Signaloid Cloud Developer Platform will use this information to warn any users that try to run your application on a core that does not meet the minimum recommendations.

The following code snippet shows an example signaloid.yaml file which specifies a minimum recommended core:

MinimumCore:
Class: "C0"
Microarchitecture: "Athens"
CorrelationTracking: "Autocorrelation"
MemorySize: 1000000000
Precision: 32

This Core configuration specification is part of the Signaloid Cloud Compute Engine API. Find more details on the Core configuration specification in the API Reference.

Setting Traced Variables

Applications that run on the Reference microarchitecture might find it useful to specify a set of variables that the Signaloid Cloud Compute Engine should always trace, eliminating the need to manually select them in the Variable Viewer. Specify these variables under TraceVariables in the signaloid.yaml file, as a list of dictionaries which represent the expressions to trace. Each trace should contain an Expression key defining the name of the variable that you wish to trace, a File key with sets the path of the file (relative to your top-level repository directory) where the variable is declared, and a LineNumber key, which is the line number of the variable declaration. The following code snippet shows an example signaloid.yaml file with a list of variables to trace.

TraceVariables:
- Expression: "oneVariable"
File: "src/main.c"
LineNumber: 384
- Expression: "oneStructPointer->oneElement"
File: "src/data-structures.c"
LineNumber: 42
- Expression: "oneArray[0:15]"
File: "src/lib/array-operations.c"
LineNumber: 18
caution

The File and LineNumber refer to the position of the variable declaration. This is not always where its value is assigned.