Skip to content

Latest commit

 

History

History
65 lines (44 loc) · 1.65 KB

graphicsdevice.rst

File metadata and controls

65 lines (44 loc) · 1.65 KB

Graphics devices

Summary

Crash reports come in with a AdapterVendorID and AdapterDeviceID crash annotations. These are hex codes in the form of 0xNNNN. The webapp has a lookup table to convert the hex codes into friendly names.

This data is hierarchical. Vendor hex codes are unique. Each vendor has many devices each with a device hex code. Device hex codes aren't unique across multiple vendors.

digraph G {

rankdir=LR; splines=lines;

subgraph webapp {

rank=same; reportview [shape=tab, label="report view"]; signatureview [shape=tab, label="signature summary"];

}

adminpage [shape=tab, label="admin"]; model [shape=box3d, label="crashstats_graphicsdevice"];

adminpage -> model [label="produces"]; model -> reportview [label="used by"]; model -> signatureview [label="used by"];

}

Tables

The data is stored in the crashstats.GraphicsDevice Django model. This is the crashstats_graphicsdevice table in PostgreSQL.

Where the data comes from

Data is added to the table automatically using the update_graphics_pci cron job. This job runs once a week to pick up new device ids.

The function for parsing that file is pci_ids__parse_graphics_device_iterable in webapp/crashstats/crashstats/utils.py.

If you need to, you can edit the table data directly using the Django admin.

What uses this data

Pages in the webapp that use this data:

  • report view
  • signature summary

They convert the hex codes in the crash reports to human-friendly labels in the table.