# tencent/gt architecture

> Architecture diagram of the GitHub repository tencent/gt, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-30). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/tencent/gt
- Repository: https://github.com/tencent/gt

## Overview

GT is a cross-platform mobile debugging and performance-tuning toolkit. Its principal Android workflow is to collect app/device telemetry or accept parameter operations through an embedded SDK, then expose them in the GT console; the README documents performance tests, logs, crash logs, packet capture, and plugins as additional capabilities. The repository also contains an Eclipse APT device-testing plugin and an iOS framework. Relationships for unsampled subsystems are limited to README-documented capabilities; the APT task-to-chart relationships and Android environment initialization are supported by excerpts.

Main entry points: [`APT_Eclipse_Plugin/src/com/tencent/wstt/apt/data/TestTaskManager.java`](https://github.com/tencent/gt/blob/master/APT_Eclipse_Plugin/src/com/tencent/wstt/apt/data/TestTaskManager.java) (Device Testing), [`android/GT_SDK/gtrsdk/src/main/java/com/tencent/wstt/gt/client/GTRClient.java`](https://github.com/tencent/gt/blob/master/android/GT_SDK/gtrsdk/src/main/java/com/tencent/wstt/gt/client/GTRClient.java) (GT SDK), [`android/GT_APP/app/src/main/java/com/tencent/wstt/gt/activity/GTMainActivity.java`](https://github.com/tencent/gt/blob/master/android/GT_APP/app/src/main/java/com/tencent/wstt/gt/activity/GTMainActivity.java) (GT Console), [`android/GT_APP/app/src/main/java/com/tencent/wstt/gt/engine/DefaultParaRunEngine.java`](https://github.com/tencent/gt/blob/master/android/GT_APP/app/src/main/java/com/tencent/wstt/gt/engine/DefaultParaRunEngine.java) (Performance Tests)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_android["Android GT"]
  node_console["GT Console"]
  node_appcore["App Runtime<br/>[GTApp.java]"]
  node_environment["Environment Setup<br/>[Env.java]"]
  node_performance["Performance Tests"]
  node_battery["Battery Plugin"]
  node_gps["GPS Replay"]
  node_packets["Packet Capture"]
  node_services["Plugin Services<br/>[PluginService.java]"]
  node_logs["Logs and Crash Data<br/>[GTLogInternal.java]"]
end

subgraph group_sdk["Embedded SDK"]
  node_sdk["GT SDK<br/>[GTRClient.java]"]
  node_parameters["App Parameters<br/>[InParaManager.java]"]
  node_monitoring["Data Monitoring"]
  node_cache["Data Cache"]
end

subgraph group_apt["Eclipse APT"]
  node_aptconsole["APT Workbench"]
  node_aptdevice["Device Testing"]
  node_aptprovider["Telemetry Provider<br/>[DataProvider.java]"]
  node_aptobserver["Chart Observers<br/>[Observer.java]"]
  node_aptviews["Test Views<br/>[CPUView.java]"]
  node_aptresults[("Test Results<br/>[TestSence.java]")]
end

subgraph group_ios["iOS Framework"]
  node_iosframework["iOS Framework"]
  node_iosplugins["iOS Plugin UI"]
end

node_user(("Developer"))

node_user -->|"uses"| node_console
node_console -->|"displays SDK data"| node_sdk
node_console -->|"modifies parameters"| node_parameters
node_appcore -->|"initializes"| node_environment
node_user -->|"runs tests"| node_performance
node_performance -->|"collects telemetry"| node_sdk
node_user -->|"uses plugin"| node_battery
node_user -->|"uses plugin"| node_gps
node_user -->|"captures packets"| node_packets
node_user -->|"views logs"| node_logs
node_user -->|"extends plugins"| node_services
node_sdk -.->|"collects data"| node_monitoring
node_sdk -->|"caches data"| node_cache
node_user -.->|"uses workbench"| node_aptconsole
node_aptconsole -.->|"starts tests"| node_aptdevice
node_aptdevice -->|"creates provider"| node_aptprovider
node_aptdevice -->|"configures views"| node_aptviews
node_aptprovider -->|"attaches observers"| node_aptobserver
node_aptdevice -.->|"records results"| node_aptresults
node_user -->|"uses framework"| node_iosframework
node_iosframework -.->|"supports plugins"| node_iosplugins

click node_console "https://github.com/tencent/gt/blob/master/android/GT_APP/app/src/main/java/com/tencent/wstt/gt/activity/GTMainActivity.java"
click node_appcore "https://github.com/tencent/gt/blob/master/android/GT_APP/app/src/main/java/com/tencent/wstt/gt/GTApp.java"
click node_environment "https://github.com/tencent/gt/blob/master/android/GT_APP/app/src/main/java/com/tencent/wstt/gt/api/utils/Env.java"
click node_performance "https://github.com/tencent/gt/blob/master/android/GT_APP/app/src/main/java/com/tencent/wstt/gt/engine/DefaultParaRunEngine.java"
click node_battery "https://github.com/tencent/gt/blob/master/android/GT_APP/app/src/main/java/com/tencent/wstt/gt/plugin/battery/GTBatteryEngine.java"
click node_gps "https://github.com/tencent/gt/blob/master/android/GT_APP/app/src/main/java/com/tencent/wstt/gt/plugin/gps/GTGPSReplayEngine.java"
click node_packets "https://github.com/tencent/gt/blob/master/android/GT_APP/app/src/main/java/com/tencent/wstt/gt/plugin/tcpdump/GTCaptureEngine.java"
click node_services "https://github.com/tencent/gt/blob/master/android/GT_APP/app/src/main/java/com/tencent/wstt/gt/plugin/internal/PluginService.java"
click node_logs "https://github.com/tencent/gt/blob/master/android/GT_APP/app/src/main/java/com/tencent/wstt/gt/log/GTLogInternal.java"
click node_sdk "https://github.com/tencent/gt/blob/master/android/GT_SDK/gtrsdk/src/main/java/com/tencent/wstt/gt/client/GTRClient.java"
click node_parameters "https://github.com/tencent/gt/blob/master/android/GT_SDK/gtrsdk/src/main/java/com/tencent/wstt/gt/client/InParaManager.java"
click node_monitoring "https://github.com/tencent/gt/blob/master/android/GT_SDK/gtrsdk/src/main/java/com/tencent/wstt/gt/collector/monitor/MonitorManager.java"
click node_cache "https://github.com/tencent/gt/blob/master/android/GT_SDK/gtrsdk/src/main/java/com/tencent/wstt/gt/data/control/DataCacheController.java"
click node_aptconsole "https://github.com/tencent/gt/blob/master/APT_Eclipse_Plugin/src/com/tencent/wstt/apt/console/APTConsoleFactory.java"
click node_aptdevice "https://github.com/tencent/gt/blob/master/APT_Eclipse_Plugin/src/com/tencent/wstt/apt/data/TestTaskManager.java"
click node_aptprovider "https://github.com/tencent/gt/blob/master/APT_Eclipse_Plugin/src/com/tencent/wstt/apt/chart/DataProvider.java"
click node_aptobserver "https://github.com/tencent/gt/blob/master/APT_Eclipse_Plugin/src/com/tencent/wstt/apt/chart/Observer.java"
click node_aptviews "https://github.com/tencent/gt/blob/master/APT_Eclipse_Plugin/src/com/tencent/wstt/apt/ui/views/CPUView.java"
click node_aptresults "https://github.com/tencent/gt/blob/master/APT_Eclipse_Plugin/src/com/tencent/wstt/apt/data/TestSence.java"
click node_iosframework "https://github.com/tencent/gt/blob/master/ios/GT/Sources/Headers/GTUIViewController.h"
click node_iosplugins "https://github.com/tencent/gt/blob/master/ios/GT/Sources/Headers/GTPluginViewController.h"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_console,node_appcore,node_environment,node_performance,node_battery,node_gps,node_packets,node_services,node_logs toneBlue
class node_sdk,node_parameters,node_monitoring,node_cache toneAmber
class node_aptconsole,node_aptdevice,node_aptprovider,node_aptobserver,node_aptviews,node_aptresults toneMint
class node_iosframework,node_iosplugins toneRose
class node_user toneIndigo
```

## Components

### Android GT

- [GT Console](https://github.com/tencent/gt/blob/master/android/GT_APP/app/src/main/java/com/tencent/wstt/gt/activity/GTMainActivity.java): `android/GT_APP/app/src/main/java/com/tencent/wstt/gt/activity/GTMainActivity.java`
- [App Runtime](https://github.com/tencent/gt/blob/master/android/GT_APP/app/src/main/java/com/tencent/wstt/gt/GTApp.java): `android/GT_APP/app/src/main/java/com/tencent/wstt/gt/GTApp.java`
- [Environment Setup](https://github.com/tencent/gt/blob/master/android/GT_APP/app/src/main/java/com/tencent/wstt/gt/api/utils/Env.java): `android/GT_APP/app/src/main/java/com/tencent/wstt/gt/api/utils/Env.java`
- [Performance Tests](https://github.com/tencent/gt/blob/master/android/GT_APP/app/src/main/java/com/tencent/wstt/gt/engine/DefaultParaRunEngine.java): `android/GT_APP/app/src/main/java/com/tencent/wstt/gt/engine/DefaultParaRunEngine.java`
- [Battery Plugin](https://github.com/tencent/gt/blob/master/android/GT_APP/app/src/main/java/com/tencent/wstt/gt/plugin/battery/GTBatteryEngine.java): `android/GT_APP/app/src/main/java/com/tencent/wstt/gt/plugin/battery/GTBatteryEngine.java`
- [GPS Replay](https://github.com/tencent/gt/blob/master/android/GT_APP/app/src/main/java/com/tencent/wstt/gt/plugin/gps/GTGPSReplayEngine.java): `android/GT_APP/app/src/main/java/com/tencent/wstt/gt/plugin/gps/GTGPSReplayEngine.java`
- [Packet Capture](https://github.com/tencent/gt/blob/master/android/GT_APP/app/src/main/java/com/tencent/wstt/gt/plugin/tcpdump/GTCaptureEngine.java): `android/GT_APP/app/src/main/java/com/tencent/wstt/gt/plugin/tcpdump/GTCaptureEngine.java`
- [Plugin Services](https://github.com/tencent/gt/blob/master/android/GT_APP/app/src/main/java/com/tencent/wstt/gt/plugin/internal/PluginService.java): `android/GT_APP/app/src/main/java/com/tencent/wstt/gt/plugin/internal/PluginService.java`
- [Logs and Crash Data](https://github.com/tencent/gt/blob/master/android/GT_APP/app/src/main/java/com/tencent/wstt/gt/log/GTLogInternal.java): `android/GT_APP/app/src/main/java/com/tencent/wstt/gt/log/GTLogInternal.java`

### Embedded SDK

- [GT SDK](https://github.com/tencent/gt/blob/master/android/GT_SDK/gtrsdk/src/main/java/com/tencent/wstt/gt/client/GTRClient.java): `android/GT_SDK/gtrsdk/src/main/java/com/tencent/wstt/gt/client/GTRClient.java`
- [App Parameters](https://github.com/tencent/gt/blob/master/android/GT_SDK/gtrsdk/src/main/java/com/tencent/wstt/gt/client/InParaManager.java): `android/GT_SDK/gtrsdk/src/main/java/com/tencent/wstt/gt/client/InParaManager.java`
- [Data Monitoring](https://github.com/tencent/gt/blob/master/android/GT_SDK/gtrsdk/src/main/java/com/tencent/wstt/gt/collector/monitor/MonitorManager.java): `android/GT_SDK/gtrsdk/src/main/java/com/tencent/wstt/gt/collector/monitor/MonitorManager.java`
- [Data Cache](https://github.com/tencent/gt/blob/master/android/GT_SDK/gtrsdk/src/main/java/com/tencent/wstt/gt/data/control/DataCacheController.java): `android/GT_SDK/gtrsdk/src/main/java/com/tencent/wstt/gt/data/control/DataCacheController.java`

### Eclipse APT

- [APT Workbench](https://github.com/tencent/gt/blob/master/APT_Eclipse_Plugin/src/com/tencent/wstt/apt/console/APTConsoleFactory.java): `APT_Eclipse_Plugin/src/com/tencent/wstt/apt/console/APTConsoleFactory.java`
- [Device Testing](https://github.com/tencent/gt/blob/master/APT_Eclipse_Plugin/src/com/tencent/wstt/apt/data/TestTaskManager.java): `APT_Eclipse_Plugin/src/com/tencent/wstt/apt/data/TestTaskManager.java`
- [Telemetry Provider](https://github.com/tencent/gt/blob/master/APT_Eclipse_Plugin/src/com/tencent/wstt/apt/chart/DataProvider.java): `APT_Eclipse_Plugin/src/com/tencent/wstt/apt/chart/DataProvider.java`
- [Chart Observers](https://github.com/tencent/gt/blob/master/APT_Eclipse_Plugin/src/com/tencent/wstt/apt/chart/Observer.java): `APT_Eclipse_Plugin/src/com/tencent/wstt/apt/chart/Observer.java`
- [Test Views](https://github.com/tencent/gt/blob/master/APT_Eclipse_Plugin/src/com/tencent/wstt/apt/ui/views/CPUView.java): `APT_Eclipse_Plugin/src/com/tencent/wstt/apt/ui/views/CPUView.java`
- [Test Results](https://github.com/tencent/gt/blob/master/APT_Eclipse_Plugin/src/com/tencent/wstt/apt/data/TestSence.java): `APT_Eclipse_Plugin/src/com/tencent/wstt/apt/data/TestSence.java`

### iOS Framework

- [iOS Framework](https://github.com/tencent/gt/blob/master/ios/GT/Sources/Headers/GTUIViewController.h): `ios/GT/Sources/Headers/GTUIViewController.h`
- [iOS Plugin UI](https://github.com/tencent/gt/blob/master/ios/GT/Sources/Headers/GTPluginViewController.h): `ios/GT/Sources/Headers/GTPluginViewController.h`

### Other components

- **Developer**

## Connections

- Developer → GT Console: uses
- GT Console → GT SDK: displays SDK data
- GT Console → App Parameters: modifies parameters
- App Runtime → Environment Setup: initializes (evidence: `android/GT_APP/app/src/main/java/com/tencent/wstt/gt/GTApp.java`)
- Developer → Performance Tests: runs tests
- Performance Tests → GT SDK: collects telemetry
- Developer → Battery Plugin: uses plugin
- Developer → GPS Replay: uses plugin
- Developer → Packet Capture: captures packets
- Developer → Logs and Crash Data: views logs
- Developer → Plugin Services: extends plugins
- GT SDK → Data Monitoring: collects data
- GT SDK → Data Cache: caches data (evidence: `android/GT_SDK/gtrsdk/src/main/java/com/tencent/wstt/gt/data/control/DataCacheController.java`)
- Developer → APT Workbench: uses workbench
- APT Workbench → Device Testing: starts tests (evidence: `APT_Eclipse_Plugin/src/com/tencent/wstt/apt/data/TestTaskManager.java`)
- Device Testing → Telemetry Provider: creates provider (evidence: `APT_Eclipse_Plugin/src/com/tencent/wstt/apt/data/TestTaskManager.java`)
- Device Testing → Test Views: configures views (evidence: `APT_Eclipse_Plugin/src/com/tencent/wstt/apt/data/TestTaskManager.java`)
- Telemetry Provider → Chart Observers: attaches observers (evidence: `APT_Eclipse_Plugin/src/com/tencent/wstt/apt/chart/DataProvider.java`)
- Device Testing → Test Results: records results (evidence: `APT_Eclipse_Plugin/src/com/tencent/wstt/apt/data/TestTaskManager.java`)
- Developer → iOS Framework: uses framework
- iOS Framework → iOS Plugin UI: supports plugins
