Skip to main content
Skip table of contents

Computation analytics

Computation analytics are only available for ShapeDiver users with a paid subscription.

https://www.loom.com/share/dd943c89028140fe8354b71d2c0ea53a

Browse to the “Computations” tab in the model view page to get detailed analytics about each computation and export request associated with the model.

A computation corresponds to any request for updating parameter values, either by updating them in the model view page of the platform or inside embedded iframes, or by using the viewer API or the geometry backend API. An export request corresponds to any time one of the file exports from the model (if any) has been triggered, also using either the platform, iframes or one of the APIs.

Various options in the section allow to search accurately in the history of computation and export requests, and explore various performance metrics for each of them, check which requests failed and load the state of parameters associated with each of them.

Time filters

The computation analytics section lets you explore the history of computation and export requests by filtering specific days and times of the day. Whereas the audience analytics section lets you select time periods of multiple days, the date picker in this case is meant for more fine-grained exploration of the history of computations in a precise time period of a specific day. The date picker lets you pick a single day, and two date pickers in the “Metrics” section allow to define a time window within that specific day.

Metrics

As mentioned above, two types of interactions with the model are tracked: individual computations and export requests.The “Metrics” section lets you pick one of them to display in the table.

Additionally, a further filter option allows to refine the result depending on the status of each request. By default “All” results are displayed, but you can filter only the successful requests (“Success”) or the requests that took longer than the maximum computation time allowed by your account (“Timeout”).

In the future, additional status filters will be added, corresponding to other failure statuses (such as reaching the maximum export size or the maximum size of outputs in the viewer). However, when viewing “All” results, those additional statuses are already reported in the table.

History of computation and export requests

The table on the right lists all the requests corresponding to the specified filters. For each of them, the crucial details associated with the request are displayed directly in the table:

Time

The time (Eastern Standard Time) at which the request was triggered on the specified day.

Total

The total time (in milliseconds) that the cloud Grasshopper workers were involved for the request. This does not correspond to the computation time associated with your account (maximum allowed computation time), because several additional steps are needed before the computation starts (waiting for the request to be picked up depending on the priority level of your subscription, loading the model, parsing its contents, compiling scripts…) and after (post-processing the output geometry and data, formatting the outputs into the data transfer format…).

Solver

The time (in milliseconds) it took the Grasshopper solver to compute the solution corresponding to the specified inputs. This corresponds to the computation time associated with your account and therefore this value cannot be bigger than the maximum allowed computation time of your subscription. If a computation or export request takes longer than your allowed maximum, this entry in the table will appear as red and include a note regarding the timeout status.

Note that this time should correspond more or less to the time you experience locally when updating parameters in the Grasshopper definition. However, in some instances your model will perform additional steps that might explain a discrepancy. As an example, if your model includes file inputs, the solver time includes the time it takes to download the file to the servers.

Storage

The time (in milliseconds) it took the plugin to upload the outputs of the computation to storage.

Size

The total size (in kb) of the outputs included in the solution.

For computation requests, this corresponds to the total size of the geometry displayed in the viewer (created using the ShapeDiver Displayand Output components and transferred as glTF 2.0 assets or sdTF assets) as well as the size of all data outputs (created using the Direct Data Output component).

For export requests, this corresponds to the total size of the files exported using the Download Export and Email Export components. You can check this size before uploading your definitions to ShapeDiver by right-clicking on those components and click on “Export locally”.

Details

Info

More advanced details reported by the servers are available by clicking on the info button in the “Details” column (first button). These details are currently reported in a technical way, but this section will be improved in the near future.

Component statistics

This button links directly to advanced statistics about the heaviest components of the model.

image-20241106-153550.png

computed

List of up to ten components sorted by decreasing computation time.

computing

In case the computation timed out: The component that was computing when the computation was cancelled.

errors

List of up to ten components that were showing errors. These error messages correspond to the one shown on the Grasshopper canvas.

warnings

List of up to ten components that were showing warnings but no errors. These warning messages correspond to the one shown on the Grasshopper canvas.

ShapeDiver does not expose component errors and warnings to the end-users when embedding your model directly, as an iframe, or with App Builder. If you wish to expose some or all component errors and warnings, you can read these messages from the components using a scripted component in Grasshopper. The messages can then be output using a direct data output component, an App Builder text widget, or something similar. Please check out this example model, which demonstrates how to read component errors and warnings in Grasshopper.

Load computation

The load button (second button) can be used to recall the set of parameters corresponding to the request. This is useful to reproduce the request and, for example, investigate a possible issue with the result, or download the exported files again.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.