Knowledge Base Administration Guide

Simscope Release History — v380 — 389

1.389

1. feature License Activity API

SIMSCOPE-42

New API to query the current user/license activity, as a REST API, in JSON format.

License Activity

2. feature Environment variable expansion in Simscope config file

The simscope.config file now expands $ENVIRONMENT variables (from the operating system shell) when the file is loaded into Simscope.

  • You can specify variables in your config files either as $VARIABLE or ${VARIABLE}

For example to make RabbitMQ load from environment variables:

[rabbitmq]
# RabbitMQ URL parameters:
# - RABBIT_USERNAME: shared account username
# - RABBIT_PASSWORD: shared shared password
# - RABBIT_HOSTNAME: the rabbit server host
url = "amqp://${RABBIT_USERNAME}:${RABBIT_PASSWORD}@${RABBIT_HOST}:5672/"

The environment variables $RABBIT_USERNAME, $RABBIT_PASSWORD, and $RABBIT_HOST will be expanded from your Linux shell into the file automatically.

For example, this may expand into:

url = "amqp://rabbit:password@rabbit-host:5672/"

Note: if the environment variables do not exist in your shell, or are blank, the config file will be replaced with blank values (ie empty).


1.388

1. feature Initial Docker support

Simscope, Tunnel, and RabbitMQ can now be run within Docker containers.

2. feature Added Regression JSON totals_by_state

When accessing Simscope Regressions via the REST API, Simscope now exports a totals_by_state field, which renders the regression job counts by state.

This can be used by scripts to compute statistics on individual regressions.

For example, the regression smoke/13781 can be accessed at this URL:

/api/r/smoke/13781

And has this totals_by_state value:

    "totals_by_state": {
        "new": 1,
        "assigned": 0,
        "open": 4,
        "wontfix": 2,
        "fixed": 0,
        "ignore": 5
    }

This indicates:

  • 12 total jobs in the regression
    • 5 ignore (PASS jobs)
      • 5/12 passed (41.6% pass rate)
    • 4 jobs have active bugs assigned
    • 1 untriaged (NEW)
      • 11/12 triaged (91.6% triage rate)

3. feature Improved login page

The Simscope login page has been improved to now show the company/project name and URL.

This allows companies with multiple Simscope instances to be more obvious as to which Simscope instance they are on.


1.387

1. feature Multiple administrator emails

Simscope now supports multiple administrator email addresses.

This allows sending administrative notifications (for example daily server status) to multiple addresses.

This is configured via the simscope.config file.

Here is an example with 3 admin email addresses:

[email]
# Administrator email addresses
adminaddr = "fred@company.com"
adminaddr = "john.h@company.com"
adminaddr = "infra-dl@company.com"

2. bugfix Delete unsent emails if account is disabled

Simscope will not attempt to send unsent emails to user accounts which have been disabled.

3. bugfix Job Test config field with @ character

Previous versions of Simscope would get confused if the Job testconfig field contained an @ character.

  • For example: mysim+foobar@baz

This bug is now fixed.


1.386

1. feature Test Metrics by testgroup: Top Issues

In the Test Metrics section, if you expand, Simscope will now show a Top Issues column, for each test group, which contains the 3 most common bugs/issues.

Top issues

2. bugfix Hide Bug Refresh button if not enabled

If you do not have a bug refresh plugin enabled, Simscope will hide the refresh button, as it only works with refresh plugins.


1.385

1. feature Component filter using @Project

You can now filter components by an entire project, with the selector @Project (ie prefix the Project Name with an @ symbol).

  • This works in all Component filter boxes: Regression Search, Signature Search, Charts, etc.

For example, if the project is called RocketChip, setting the Component filter to @RocketChip will auto-select all components in the project.

  • Assuming Alpha has 3 child components (block1, block2, block3), this is equivalent to a component selector of:
    • block1|block2|block3

Project selector

2. bugfix Job category validation

Job category fields (defined in the simscope.config file) are now validated to contain only alphanumeric characters.

  • Previously, you could accidentally configure a category to a bad value like "+[hello]/world"

3. bugfix User can have the same email address as administrator

You can now register a user in Simscope to have the same email address as the admin account (from simscope.config file).

  • Previous Simscope versions would give an error if you set a user email to the same as the admin account

4. bugfix Print warning if duplicate job imported

If a duplicate job is detected during import, Simscope will now discard it and also print a warning message, similar to the following:

[WARN ] Discarding duplicate job during import (alias) regr=dev/13866x id=3/clrjzn0yovsg
config=sh -c "cd env && make TAGS lint vet"

In previous versions, this message would only show up if running with --debug mode.

Note: you can disable these duplicate job warnings by adding this to your simscope.config file:

[regr]
# Disable duplicate job discard warnings
warnduplicate = false

5. bugfix Tank regressions with non-alphanumeric names

Regressions with bad names like {stream}12345 can now be Tanked.


1.384

feature Regression Grouping

→ See Regression Group

Simscope now can optionally group sub-regressions, using the Regression JSON field "group".

For example, if you have 3 sub-regressions:

  • smoke/1200/tb
  • smoke/1200/alu
  • smoke/1200/fpu

You can group these together under smoke/1200

Simscope will show the related regressions in a tree format.

Example

Here is an example grouped regression:

Grouped regression


1.383

1. bugfix Component dropdown now has line wrapping

If you have long component names, like alpha_beta_gamma_delta, in previous Simscope versions this could be truncated on the display.

Now long component names will wrap to multiple lines.

2. feature Pass rate with Aborts

If your regression has aborted jobs, Simscope will display both a raw score (ie pass rate), and a combined score (including aborts).

Combined Score = #Pass / (#Pass + #Fail + #Skip + #Abort)

This example shows a 50% score (for completed jobs), but a 5% score (including all aborted jobs).

Abort score

3. feature Improvements to simscope-sig-search script

The command-line script simscope-sig-search can now download jobs from a specific signature, in either CSV or JSON output formats.

For example, to download jobs from Signature #1200 in CSV format:

> simscope-sig-search --sigid=1200 --job-output-format=csv

To download in JSON format (note this also limits to 100 job results):

> simscope-sig-search --sigid=1200 --job-output-format=json --limit=100

You can also filter results with the --job-search parameter. This example filters only jobs with less than 1000 cycles:

> simscope-sig-search --sigid=1200 --job-output-format=json --job-search='cycles<1000'

1.382

1. feature Allow editing and deletion of disabled rules

Simscope now allows both editing and deletion of disabled rules.

Disabled rules normally occur after one of these events:

  • A Component is disabled (which invalidates rules filtering on it).
  • A user unknowingly creates a duplicate Rule.
  • A Project is added and existing rules match it.
    • Note: you can alias projects via the parentproject configuration field, if projects are sharing the same repository.

2. bugfix Lint fixes

Some browsers had Javascript warnings, which are now fixed.


1.381

1. bugfix Regression Plugin JSON

Fixed a bug in Regression Plugins, where the JSON did not include the custom_metadata field.

Now plugins can parse this field.

2. feature Abort count in Test Metrics

If regressions containing Aborted Jobs match in the Test Metrics section, they are now listed at the bottom of the page.

3. feature Optional Project parent

SIMSCOPE-41

Optional field

If two or more Projects share the same repository, they can now be linked together, using the parentproject configuration field.

This enables users to create a rule with components from multiple linked projects.

By default, projects are assumed to be within their own independent repository.


1.380

1. bugfix Okta bugfix

SIMSCOPE-38

  • Changed Okta directory algorithm to ensure 5 user seats available at every hour, by deactivating the most dormant users.

2. feature Regression Tag display

3. bugfix Dashboard heatmap scroll

Heatmap/data table charts in the dashboard view now show a vertical scroll bar, if you have many series matching in the chart.

4. feature Display job abort count in regression table

For ABORTED regressions, Simscope now displays the number of jobs aborted within the regression table.

5. bugfix Saved search overflow now scrolls the the right

If you have many saved searches (within Regressions, Signatures, or Tests), Simscope now allows right scrolling to click them. Previously it would hide any along the right side.