Knowledge Base Administration Guide

Job Field Reference

Simscope Jobs are defined with a JSON input format.

Fields with a ✅ are required fields in the JSON.

FieldDescriptionReqExample
buildBuild configuration/environment for the job"vcs+2core+cov"
categoryJob Category"sim"
compute_msJob compute time, in milliseconds
See also runtime_ms
12345 (ie 12.345 seconds)
configJob test configuration or job command-line (rerun string)"sim +rand +tbuf +seed=1794 LOC=4"
cyclesSimulation cycles completed (both for pass and fail jobs)17237
exit_codeShell exit code for the job100
extidExternal service job ID
(example: LSF ID)
"1234", "83a203cb6f", etc
fail_messageRaw error message (for failing jobs only)"t.cpu.core0.fs7 data mismatch filling store buffer: expected=24'h16a7 actual=24'h76a7"
→ or use "" for passing jobs
finish_timeTimestamp when the job finished (RFC-3339)"0001-01-01T00:00:00Z"
hostHost machine where the job ran"compute-12"
jobdirDirectory (path) where job was run.
You can alternatively store a URL and Simscope will render a hyperlink.
"/home/runs/myregr/2/job-2" (path)

"http://server123/path/to/job/data" (URL)
metadataCustom metadata for this job.
(see Job Metadata)
[["transactions", "100"]]
resultJob result (pass / fail / skip)"pass" or "fail" or "skip"
(NOTE: this value must be lowercase)
runtime_msoptional Job wallclock runtime, in milliseconds
See also compute_ms
12345 (ie 12.345 seconds)
seedJob seed (encoded as a string value)"1794"
sourcecodeTest source code.
This is similar to the config field, for implementing job rerun, and allows any characters (whitespace, etc).
This field requires JSON string escaping.
"# This is JSON\nrun_test(\"stim\", 123)"
start_timeTimestamp when the job started (RFC-3339)"2019-05-07T02:00:10.000111-05:00"
testgroupTest group"rand"
usernameUsername (only if different than regression)"infra"
bucketadvanced: custom Signature bucket (see below)"" (blank: use Simscope's bucketizer)
"store buffer" (custom bucketizer)
classificationadvanced: Classify Signature: auto-classify signature during job import
(useful for timeout or perf scenarios).
"timeout"

Runtime vs Compute Time

→ see Job Runtime.


Custom Job Metadata

You can store arbitrary job metadata fields (string, integer, or float data types). This is useful for tracking performance metrics.

For example, num_transactions = 1280

→ see Custom Job Metadata.


Advanced: Custom Job Bucket

Warning: this bucket field should only be used if you have your own bucketizer algorithm. Do not store raw fail messages into the bucket JSON field (this will disable Simscope's signature bucketizer).

Simscope has a built-in Error Bucketizer, which groups and sanitizes error messages into signatures. For smaller organizations, this generic bucketizer works well.

  • To use Simscope's built-in bucketizer, omit the bucket field from your job JSON.

However, if your group has its own bucketizer, you can bypass Simscope's bucketizer by providing both a job raw fail_message, and a bucket field into the job JSON.

Here is an example job JSON, using a custom bucketized signature:

{
    ...

    "fail_message": "t.cpu.core0.fs7 data mismatch filling store buffer: expected=24'h16a7 actual=24'h76a7",

    "bucket": "core0 store buffer"`

    ...
}
  • Note: if using a custom bucketizer, you must strip numbers, paths, and hierarchies. Otherwise Simscope will create duplicate signatures.

Default Simscope Bucketizer

By default, the builtin Simscope bucketizer will automatically generate the following Signature bucket, based on the above fail_message:

{
    ...

    "fail_message": "t.cpu.core0.fs7 data mismatch filling store buffer: expected=24'h16a7 actual=24'h76a7",

    "bucket": "[HIER].fs_ data mismatch filling store buffer expected ... actual ..."

    ...
}