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
The File and LineNumber refer to the position of the variable declaration. This is not always where its value is assigned.