README.md
1# Hiview<a name="EN-US_TOPIC_0000001162254005"></a>
2
3- [Introduction](#section1289063163919)
4- [Directory Structure](#section16611433113712)
5- [Constraints](#section7147138193814)
6- [Contribution](#section10404153013381)
7- [Usage](#section1046874983819)
8- [Repositories Involved](#section16647142611396)
9
10## Introduction<a name="section1289063163919"></a>
11
12Hiview is the module of OpenHarmony that provides toolkits for device maintenance across different platforms.
13
14Currently, Hiview opens only the plug-in management platform and system event source capabilities.
15
16**Figure 1** Architecture of Hiview
17
18
19
20Hiview consists of the following components:
21
22adapter: operating system adaptation layer, which adapts APIs of the system services in use
23
24hiview base: Hiview base definition, which provides the plug-in definition, detector definition, and utility class
25
26hiview core: Hiview core module, which provides the plug-in configuration, plug-in management, and event source functions
27
28hiview services: Hiview services. Currently, only the Hiview run information exporting function is provided.
29
30plugins: Independent service modules.
31
32Hiview works in event-driven mode. The core of Hiview is a collection of HiSysEvent stubs distributed in the system.
33
34Formatted events are reported to Hiview through the **HiSysEvent** API for processing. Figure 2 shows the data interaction process.
35
36**Figure 2** Data interaction between Hiview modules
37
38
39
401. The application framework and system services report system events using the **HiSysEvent** API.
41
422. HiSysEventSource reads events and prints the events to logs.
43
44## Directory Structure<a name="section16611433113712"></a>
45
46The code directory structure of Hiview is as follows:
47
48```
49/base/hiviewdfx/hiview
50├── adapter # Platform adaptation code
51│ └── service # Service adaptation code
52├── base # Module definition and utility class
53│ └── utility
54├── build # Compilation scripts
55├── include # Common definitions
56├── core # Plug-in management
57└── service # Platform services
58```
59
60## Constraints<a name="section7147138193814"></a>
61
62Use of C++14 features requires libc of C++14 or later.
63
64## Contribution<a name="section10404153013381"></a>
65
66If you are interested in Hiview and want to become a contributor, refer to the _Code Contribution Guide_.
67
68## Usage<a name="section1046874983819"></a>
69
70Hiview automatically starts with the device and loads plug-ins based on the configuration file.
71
72## Repositories Involved<a name="section16647142611396"></a>
73
74[DFX subsystem](https://gitee.com/openharmony/docs/blob/master/en/readme/dfx.md)
75
76**hiviewdfx\_hiview**
77
78[hiviewdfx\_hilog](https://gitee.com/openharmony/hiviewdfx_hilog/blob/master/README.md)
79
80[hiviewdfx\_hiappevent](https://gitee.com/openharmony/hiviewdfx_hiappevent/blob/master/README.md)
81
82[hiviewdfx\_hisysevent](https://gitee.com/openharmony/hiviewdfx_hisysevent/blob/master/README.md)
83
84[hiviewdfx\_faultloggerd](https://gitee.com/openharmony/hiviewdfx_faultloggerd/blob/master/README.md)
85
86[hiviewdfx\_hilog\_lite](https://gitee.com/openharmony/hiviewdfx_hilog_lite/blob/master/README.md)
87
88[hiviewdfx\_hievent\_lite](https://gitee.com/openharmony/hiviewdfx_hievent_lite/blob/master/README.md)
89
90[hiviewdfx\_hiview\_lite](https://gitee.com/openharmony/hiviewdfx_hiview_lite/blob/master/README.md)
91
92