Go to file
openharmony_ci 24ee0cfee8
!2576 异步binder调用耗尽相关进程解析并抓栈优化
Merge pull request !2576 from 郑冬冬冬/master
2024-12-04 12:57:28 +00:00
adapter Message:fixCodes 2024-11-01 13:48:47 +08:00
base 优化事件去重位置 2024-11-27 16:50:21 +08:00
build dft plugins to so 2024-05-05 16:16:18 +08:00
core dft rom optimize 2024-10-25 16:24:44 +08:00
figures hiview_zh.md 2022-01-20 14:55:13 +08:00
framework/native/unified_collection disable hiperf record for some devices 2024-11-30 09:55:57 +08:00
hisysevent feat: add duration to PLUGIN_LOAD 2024-08-10 16:46:46 +08:00
interfaces disable hiperf record for some devices 2024-11-30 09:55:57 +08:00
plugins !2576 异步binder调用耗尽相关进程解析并抓栈优化 2024-12-04 12:57:28 +00:00
service add ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNT 2024-11-19 15:27:40 +08:00
test disable hiperf record for some devices 2024-11-30 09:55:57 +08:00
utility 获取堆栈遇到新的线程则退出 2024-11-28 22:20:24 +08:00
.gitattributes update OpenHarmony 2.0 Canary 2021-06-02 02:18:59 +08:00
.gitignore bug: add .vscode to .gitignore 2024-09-03 16:23:49 +08:00
BUILD.gn all deps编译选项整改 2024-10-30 10:28:48 +08:00
bundle.json add freeze log info 2024-11-25 20:43:31 +08:00
CODEOWNERS adapt the ipc code of HivewService and SysEventService 2023-07-01 11:48:14 +08:00
hisysevent.yaml hiview match crash event 2024-03-17 14:16:05 +08:00
hiview_zh.md CodeClear 2024-01-17 11:23:12 +08:00
hiview.gni Message:无ui界面场景对窗口依赖及相关代码隔离 2024-08-12 20:31:27 +08:00
kernel_vendor.yaml Description:bbox send msg to historyLog and kmsg 2024-10-08 22:11:00 +08:00
LICENSE update OpenHarmony 2.0 Canary 2021-06-02 02:18:59 +08:00
main.cpp 重命名logger.h 2024-04-18 15:47:55 +08:00
OAT.xml !1960 同步差异 2024-07-11 11:01:51 +00:00
README_zh.md add innerkit for hiviewbase 2023-06-30 17:10:13 +08:00
README.md add innerkit for hiviewbase 2023-06-30 17:10:13 +08:00

Hiview

Introduction

Hiview is the module of OpenHarmony that provides toolkits for device maintenance across different platforms.

Currently, Hiview opens only the plug-in management platform and system event source capabilities.

Figure 1 Architecture of Hiview

Hiview consists of the following components:

adapter: operating system adaptation layer, which adapts APIs of the system services in use

hiview base: Hiview base definition, which provides the plug-in definition, detector definition, and utility class

hiview core: Hiview core module, which provides the plug-in configuration, plug-in management, and event source functions

hiview services: Hiview services. Currently, only the Hiview run information exporting function is provided.

plugins: Independent service modules.

Hiview works in event-driven mode. The core of Hiview is a collection of HiSysEvent stubs distributed in the system.

Formatted events are reported to Hiview through the HiSysEvent API for processing. Figure 2 shows the data interaction process.

Figure 2 Data interaction between Hiview modules

  1. The application framework and system services report system events using the HiSysEvent API.

  2. HiSysEventSource reads events and prints the events to logs.

Directory Structure

The code directory structure of Hiview is as follows:

/base/hiviewdfx/hiview
├── adapter             # Platform adaptation code
│   └── service        # Service adaptation code
├── base                # Module definition and utility class
│   └── utility
├── build               # Compilation scripts
├── include             # Common definitions
├── core                # Plug-in management
└── service             # Platform services

Constraints

Use of C++14 features requires libc of C++14 or later.

Contribution

If you are interested in Hiview and want to become a contributor, refer to the Code Contribution Guide.

Usage

Hiview automatically starts with the device and loads plug-ins based on the configuration file.

Repositories Involved

DFX subsystem

hiviewdfx_hiview

hiviewdfx_hilog

hiviewdfx_hiappevent

hiviewdfx_hisysevent

hiviewdfx_faultloggerd

hiviewdfx_hilog_lite

hiviewdfx_hievent_lite

hiviewdfx_hiview_lite