Skip to content

Latest commit

 

History

History
111 lines (65 loc) · 6.08 KB

File metadata and controls

111 lines (65 loc) · 6.08 KB
graph LR
    Test_Record_Serializer["Test Record Serializer"]
    Protobuf_Converter["Protobuf Converter"]
    MfgInspector_Reporter["MfgInspector Reporter"]
    Web_GUI_Server["Web GUI Server"]
    Dashboard_Server["Dashboard Server"]
    Station_Server["Station Server"]
    Station_Watcher["Station Watcher"]
    Pub_Sub_System["Pub/Sub System"]
    Test_Record_Serializer -- "Provides serialized data for external reporting" --> MfgInspector_Reporter
    Protobuf_Converter -- "Supplies Protocol Buffer formatted data for MfgInspector uploads" --> MfgInspector_Reporter
    MfgInspector_Reporter -- "Consumes serialized test records" --> Test_Record_Serializer
    MfgInspector_Reporter -- "Utilizes Protobuf for data formatting" --> Protobuf_Converter
    Web_GUI_Server -- "Serves as the underlying web platform for the dashboard" --> Dashboard_Server
    Web_GUI_Server -- "Provides the web infrastructure for individual station interfaces" --> Station_Server
    Dashboard_Server -- "Relies on the Web GUI Server for serving content" --> Web_GUI_Server
    Dashboard_Server -- "Utilizes Pub/Sub for real-time updates to connected clients" --> Pub_Sub_System
    Station_Server -- "Built upon the Web GUI Server's capabilities" --> Web_GUI_Server
    Station_Server -- "Relies on the Station Watcher for monitoring test state" --> Station_Watcher
    Station_Server -- "Uses Pub/Sub for pushing real-time updates to clients" --> Pub_Sub_System
    Station_Watcher -- "Provides real-time test state updates to the Station Server" --> Station_Server
    Pub_Sub_System -- "Used by the Dashboard Server to publish updates" --> Dashboard_Server
    Pub_Sub_System -- "Used by the Station Server to publish updates" --> Station_Server
Loading

CodeBoardingDemoContact

Details

The Reporting & User Interface subsystem in OpenHTF is responsible for transforming raw test data into consumable reports and providing interactive web-based dashboards for real-time monitoring and analysis. This subsystem leverages a modular design, separating concerns between data serialization, external reporting integrations, core web serving, and specific dashboard functionalities.

Test Record Serializer

Converts internal TestRecord objects into various output formats, primarily JSON, and manages the persistence of these serialized records to files. It acts as the initial data formatter for reporting.

Related Classes/Methods:

  • openhtf.output.callbacks.json_factory
  • openhtf.output.callbacks.OutputToFile (1:1)

Protobuf Converter

Translates OpenHTF's internal test data structures into standardized Protocol Buffer messages. This is crucial for efficient and structured data exchange, especially for integrations with other systems.

Related Classes/Methods:

  • openhtf.output.proto.mfg_event_converter
  • openhtf.output.proto.test_runs_converter

MfgInspector Reporter

Manages the integration with the MfgInspector service. It takes processed test records, converts them into a compatible format (often via Protobuf), and handles the secure upload of this data to the MfgInspector platform.

Related Classes/Methods:

  • openhtf.output.callbacks.mfg_inspector

Web GUI Server

Provides the foundational web server capabilities for the entire user interface. It handles HTTP requests, manages WebSocket connections for real-time communication, and serves static web assets (HTML, CSS, JavaScript) using the Tornado web framework.

Related Classes/Methods:

Dashboard Server

Manages the high-level OpenHTF dashboard. This includes discovering and publishing information about available test stations and presenting an aggregated view of test status and progress across the system.

Related Classes/Methods:

  • openhtf.output.servers.dashboard_server

Station Server

Offers a dedicated web interface for a specific test station. It provides real-time monitoring of the current test, detailed information about individual test phases, and access to test attachments.

Related Classes/Methods:

  • openhtf.output.servers.station_server

Station Watcher

Actively monitors the state of the currently executing test on a specific station. It polls for updates to the test's status and triggers notifications or events when changes occur, ensuring the UI reflects the latest state.

Related Classes/Methods:

Pub/Sub System

Facilitates real-time, asynchronous communication between server-side components and connected web clients. It enables a publish-subscribe model for pushing updates (e.g., test progress, status changes) to multiple subscribers without direct polling.

Related Classes/Methods: