diff --git a/zh-cn/application-dev/reference/apis-performance-analysis-kit/js-apis-hisysevent-sys.md b/zh-cn/application-dev/reference/apis-performance-analysis-kit/js-apis-hisysevent-sys.md index e693e71572eff04d5919520743ed32c18010978a..c02ad5103049f917b83c7673f6fdcdacfadbadbe 100644 --- a/zh-cn/application-dev/reference/apis-performance-analysis-kit/js-apis-hisysevent-sys.md +++ b/zh-cn/application-dev/reference/apis-performance-analysis-kit/js-apis-hisysevent-sys.md @@ -73,10 +73,39 @@ write(info: SysEventInfo, callback: AsyncCallback<void>): void **示例:** +ArkTS1.1示例: + ```ts import { hiSysEvent } from '@kit.PerformanceAnalysisKit'; import { BusinessError } from '@kit.BasicServicesKit'; +try { + let customizedParams: Record = { + 'PID': 487, + 'UID': 103, + 'PACKAGE_NAME': "com.ohos.hisysevent.test", + 'PROCESS_NAME': "syseventservice", + 'MSG': "no msg." + }; + let eventInfo: hiSysEvent.SysEventInfo = { + domain: "RELIABILITY", + name: "STACK", + eventType: hiSysEvent.EventType.FAULT, + params: customizedParams + }; + hiSysEvent.write(eventInfo, (err: BusinessError) => { + // do something here. + }); +} catch (err) { + console.error(`error code: ${(err as BusinessError).code}, error msg: ${(err as BusinessError).message}`); +} +``` +ArkTS1.2示例: + +```ts +import { hiSysEvent } from '@kit.PerformanceAnalysisKit'; +import { BusinessError } from '@ohos.base'; + try { let customizedParams: Record = { 'PID': 487, @@ -138,6 +167,8 @@ write(info: SysEventInfo): Promise<void> **示例:** +ArkTS1.1示例: + ```ts import { hiSysEvent } from '@kit.PerformanceAnalysisKit'; import { BusinessError } from '@kit.BasicServicesKit'; @@ -169,6 +200,39 @@ try { console.error(`error code: ${(err as BusinessError).code}, error msg: ${(err as BusinessError).message}`); } ``` +ArkTS1.2示例: + +```ts +import { hiSysEvent } from '@kit.PerformanceAnalysisKit'; +import { BusinessError } from '@ohos.base'; + +try { + let customizedParams: Record = { + 'PID': 487, + 'UID': 103, + 'PACKAGE_NAME': "com.ohos.hisysevent.test", + 'PROCESS_NAME': "syseventservice", + 'MSG': "no msg." + }; + let eventInfo: hiSysEvent.SysEventInfo = { + domain: "RELIABILITY", + name: "STACK", + eventType: hiSysEvent.EventType.FAULT, + params: customizedParams + }; + hiSysEvent.write(eventInfo).then( + () => { + // do something here. + } + ).catch( + (err: Error) => { + console.error(`error code: ${(err as BusinessError).code}, error msg: ${(err as BusinessError).message}`); + } + ); +} catch (err) { + console.error(`error code: ${(err as BusinessError).code}, error msg: ${(err as BusinessError).message}`); +} +``` ## RuleType @@ -237,10 +301,39 @@ addWatcher(watcher: Watcher): void **示例:** +ArkTS1.1示例: + ```ts import { hiSysEvent } from '@kit.PerformanceAnalysisKit'; import { BusinessError } from '@kit.BasicServicesKit'; +let watchRules: hiSysEvent.WatchRule[] = [{ + domain: "RELIABILITY", + name: "STACK", + tag: "STABILITY", + ruleType: hiSysEvent.RuleType.WHOLE_WORD, + } as hiSysEvent.WatchRule]; +let watcher: hiSysEvent.Watcher = { + rules: watchRules, + onEvent: (info: hiSysEvent.SysEventInfo) => { + // do something here. + }, + onServiceDied: () => { + // do something here. + } +}; +try { + hiSysEvent.addWatcher(watcher); +} catch (err) { + console.error(`error code: ${(err as BusinessError).code}, error msg: ${(err as BusinessError).message}`); +} +``` +ArkTS1.2示例: + +```ts +import { hiSysEvent } from '@kit.PerformanceAnalysisKit'; +import { BusinessError } from '@ohos.base'; + let watchRules: hiSysEvent.WatchRule[] = [{ domain: "RELIABILITY", name: "STACK", @@ -292,10 +385,40 @@ removeWatcher(watcher: Watcher): void **示例:** +ArkTS1.1示例: + ```ts import { hiSysEvent } from '@kit.PerformanceAnalysisKit'; import { BusinessError } from '@kit.BasicServicesKit'; +let watchRules: hiSysEvent.WatchRule[] = [{ + domain: "RELIABILITY", + name: "STACK", + tag: "STABILITY", + ruleType: hiSysEvent.RuleType.WHOLE_WORD, + } as hiSysEvent.WatchRule ]; +let watcher: hiSysEvent.Watcher = { + rules: watchRules, + onEvent: (info: hiSysEvent.SysEventInfo) => { + // do something here. + }, + onServiceDied: () => { + // do something here. + } +}; +try { + hiSysEvent.addWatcher(watcher); + hiSysEvent.removeWatcher(watcher); +} catch (err) { + console.error(`error code: ${(err as BusinessError).code}, error msg: ${(err as BusinessError).message}`); +} +``` +ArkTS1.2示例: + +```ts +import { hiSysEvent } from '@kit.PerformanceAnalysisKit'; +import { BusinessError } from '@ohos.base'; + let watchRules: hiSysEvent.WatchRule[] = [{ domain: "RELIABILITY", name: "STACK", @@ -390,6 +513,8 @@ query(queryArg: QueryArg, rules: QueryRule[], querier: Querier): void **示例:** +ArkTS1.1示例: + ```ts import { hiSysEvent } from '@kit.PerformanceAnalysisKit'; import { BusinessError } from '@kit.BasicServicesKit'; @@ -435,6 +560,53 @@ try { } ``` +ArkTS1.2示例: + +```ts +import { hiSysEvent } from '@kit.PerformanceAnalysisKit'; +import { BusinessError } from '@ohos.base'; + +try { + let customizedParams: Record = { + 'PID': 487, + 'UID': 103, + 'PACKAGE_NAME': "com.ohos.hisysevent.test", + 'PROCESS_NAME': "syseventservice", + 'MSG': "no msg." + }; + let eventInfo: hiSysEvent.SysEventInfo = { + domain: "RELIABILITY", + name: "STACK", + eventType: hiSysEvent.EventType.FAULT, + params: customizedParams + }; + hiSysEvent.write(eventInfo, (err: BusinessError) => { + // do something here. + }); + + let queryArg: hiSysEvent.QueryArg = { + beginTime: -1, + endTime: -1, + maxEvents: 5, + }; + let queryRules: hiSysEvent.QueryRule[] = [{ + domain: "RELIABILITY", + names: ["STACK"], + } as hiSysEvent.QueryRule]; + let querier: hiSysEvent.Querier = { + onQuery: (infos: hiSysEvent.SysEventInfo[]) => { + // do something here. + }, + onComplete: (reason: number, total: number) => { + // do something here. + } + }; + hiSysEvent.query(queryArg, queryRules, querier); +} catch (err) { + console.error(`error code: ${(err as BusinessError).code}, error msg: ${(err as BusinessError).message}`); +} +``` + ## hiSysEvent.exportSysEvents10+ exportSysEvents(queryArg: QueryArg, rules: QueryRule[]): number @@ -473,6 +645,8 @@ exportSysEvents(queryArg: QueryArg, rules: QueryRule[]): number **示例:** +ArkTS1.1示例: + ```ts import { fileIo } from '@kit.CoreFileKit'; import { hiSysEvent } from '@kit.PerformanceAnalysisKit'; @@ -524,6 +698,58 @@ try { console.error(`error code: ${(err as BusinessError).code}, error msg: ${(err as BusinessError).message}`); } ``` +ArkTS1.2示例: + +```ts +import fileIo from '@ohos.file.fs'; +import { hiSysEvent } from '@kit.PerformanceAnalysisKit'; +import { BusinessError } from '@ohos.base'; + +try { + let customizedParams: Record = { + 'PID': 487, + 'UID': 103, + 'PACKAGE_NAME': "com.ohos.hisysevent.test", + 'PROCESS_NAME': "syseventservice", + 'MSG': "no msg." + }; + let eventInfo: hiSysEvent.SysEventInfo = { + domain: "RELIABILITY", + name: "STACK", + eventType: hiSysEvent.EventType.FAULT, + params: customizedParams + }; + hiSysEvent.write(eventInfo, (err: BusinessError) => { + // do something here. + }); + + let queryArg: hiSysEvent.QueryArg = { + beginTime: -1, + endTime: -1, + maxEvents: 1, + }; + let queryRules: hiSysEvent.QueryRule[] = [{ + domain: "RELIABILITY", + names: ["STACK"], + } as hiSysEvent.QueryRule]; + let time = hiSysEvent.exportSysEvents(queryArg, queryRules); + console.log(`receive export task time is : ${time}`); + + // 延迟读取本次导出的事件 + setTimeout(() => { + let eventDir = '/data/storage/el2/base/cache/hiview/event'; + let filenames = fileIo.listFileSync(eventDir); + for (let i = 0; i < filenames.length; i++) { + if (filenames[i].indexOf(Number(time).toString()) != -1) { + let events: string = fileIo.readTextSync(eventDir + '/' + filenames[i]); + console.log("read file end, events is :" + JSON.stringify(events)); + } + } + }, 10000); +} catch (err) { + console.error(`error code: ${(err as BusinessError).code}, error msg: ${(err as BusinessError).message}`); +} +``` ## hiSysEvent.subscribe10+ @@ -561,6 +787,8 @@ subscribe(rules: QueryRule[]): number **示例:** +ArkTS1.1示例: + ```ts import { fileIo } from '@kit.CoreFileKit'; import { hiSysEvent } from '@kit.PerformanceAnalysisKit'; @@ -608,6 +836,58 @@ try { console.error(`error code: ${(err as BusinessError).code}, error msg: ${(err as BusinessError).message}`); } ``` +ArkTS1.2示例: + +```ts +import fileIo from '@ohos.file.fs'; +import { hiSysEvent } from '@kit.PerformanceAnalysisKit'; +import { BusinessError } from '@ohos.base'; + +try { + let customizedParams: Record = { + 'PID': 487, + 'UID': 103, + 'PACKAGE_NAME': "com.ohos.hisysevent.test", + 'PROCESS_NAME': "syseventservice", + 'MSG': "no msg." + }; + let eventInfo: hiSysEvent.SysEventInfo = { + domain: "RELIABILITY", + name: "STACK", + eventType: hiSysEvent.EventType.FAULT, + params: customizedParams + }; + hiSysEvent.write(eventInfo, (err: BusinessError) => { + // do something here. + }); + + let queryArg: hiSysEvent.QueryArg = { + beginTime: -1, + endTime: -1, + maxEvents: 1, + }; + let queryRules: hiSysEvent.QueryRule[] = [{ + domain: "RELIABILITY", + names: ["STACK"], + } as hiSysEvent.QueryRule]; + let time = hiSysEvent.exportSysEvents(queryArg, queryRules); + console.log(`receive export task time is : ${time}`); + + // 延迟读取本次导出的事件 + setTimeout(() => { + let eventDir = '/data/storage/el2/base/cache/hiview/event'; + let filenames = fileIo.listFileSync(eventDir); + for (let i = 0; i < filenames.length; i++) { + if (filenames[i].indexOf(Number(time).toString()) != -1) { + let events: string = fileIo.readTextSync(eventDir + '/' + filenames[i]); + console.log("read file end, events is :" + JSON.stringify(events)); + } + } + }, 10000); +} catch (err) { + console.error(`error code: ${(err as BusinessError).code}, error msg: ${(err as BusinessError).message}`); +} +``` ## hiSysEvent.unsubscribe10+ @@ -632,6 +912,8 @@ unsubscribe(): void **示例:** +ArkTS1.1示例: + ```ts import { hiSysEvent } from '@kit.PerformanceAnalysisKit'; import { BusinessError } from '@kit.BasicServicesKit'; @@ -651,4 +933,25 @@ try { console.error(`error code: ${(err as BusinessError).code}, error msg: ${(err as BusinessError).message}`); } ``` +**ArkTS1.2示例: + +```ts +import { hiSysEvent } from '@kit.PerformanceAnalysisKit'; +import { BusinessError } from '@ohos.base'; + +try { + let rules: hiSysEvent.QueryRule[] = [{ + domain: "RELIABILITY", + names: ["STACK"], + } as hiSysEvent.QueryRule, + { + domain: "BUNDLE_MANAGER", + names: ["BUNDLE_UNINSTALL"], + } as hiSysEvent.QueryRule]; + hiSysEvent.subscribe(rules); + hiSysEvent.unsubscribe(); +} catch (err) { + console.error(`error code: ${(err as BusinessError).code}, error msg: ${(err as BusinessError).message}`); +} +```