161847f8eSopenharmony_ci/* 261847f8eSopenharmony_ci* Copyright (C) 2021-2022 Huawei Device Co., Ltd. 361847f8eSopenharmony_ci* Licensed under the Apache License, Version 2.0 (the "License"); 461847f8eSopenharmony_ci* you may not use this file except in compliance with the License. 561847f8eSopenharmony_ci* You may obtain a copy of the License at 661847f8eSopenharmony_ci* 761847f8eSopenharmony_ci* http://www.apache.org/licenses/LICENSE-2.0 861847f8eSopenharmony_ci* 961847f8eSopenharmony_ci* Unless required by applicable law or agreed to in writing, software 1061847f8eSopenharmony_ci* distributed under the License is distributed on an "AS IS" BASIS, 1161847f8eSopenharmony_ci* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1261847f8eSopenharmony_ci* See the License for the specific language governing permissions and 1361847f8eSopenharmony_ci* limitations under the License. 1461847f8eSopenharmony_ci*/ 1561847f8eSopenharmony_ci 1661847f8eSopenharmony_ci/** 1761847f8eSopenharmony_ci * @file 1861847f8eSopenharmony_ci * @kit PerformanceAnalysisKit 1961847f8eSopenharmony_ci */ 2061847f8eSopenharmony_ci 2161847f8eSopenharmony_ciimport type { AsyncCallback } from './@ohos.base'; 2261847f8eSopenharmony_ci 2361847f8eSopenharmony_ci/** 2461847f8eSopenharmony_ci * This module provides the capability to query faultlog data. 2561847f8eSopenharmony_ci * @namespace FaultLogger 2661847f8eSopenharmony_ci * @syscap SystemCapability.HiviewDFX.Hiview.FaultLogger 2761847f8eSopenharmony_ci * @since 8 2861847f8eSopenharmony_ci */ 2961847f8eSopenharmony_ci 3061847f8eSopenharmony_ci 3161847f8eSopenharmony_cideclare namespace FaultLogger { 3261847f8eSopenharmony_ci /** 3361847f8eSopenharmony_ci * The type of fault type. 3461847f8eSopenharmony_ci * @enum { number } 3561847f8eSopenharmony_ci * @syscap SystemCapability.HiviewDFX.Hiview.FaultLogger 3661847f8eSopenharmony_ci * @since 8 3761847f8eSopenharmony_ci */ 3861847f8eSopenharmony_ci enum FaultType { 3961847f8eSopenharmony_ci /** 4061847f8eSopenharmony_ci * NO_SPECIFIC log type not distinguished. 4161847f8eSopenharmony_ci * @syscap SystemCapability.HiviewDFX.Hiview.FaultLogger 4261847f8eSopenharmony_ci * @since 8 4361847f8eSopenharmony_ci */ 4461847f8eSopenharmony_ci NO_SPECIFIC = 0, 4561847f8eSopenharmony_ci /** 4661847f8eSopenharmony_ci * CPP_CRASH CPP crash log type. 4761847f8eSopenharmony_ci * @syscap SystemCapability.HiviewDFX.Hiview.FaultLogger 4861847f8eSopenharmony_ci * @since 8 4961847f8eSopenharmony_ci */ 5061847f8eSopenharmony_ci CPP_CRASH = 2, 5161847f8eSopenharmony_ci /** 5261847f8eSopenharmony_ci * JS_CRASH JS crash log type. 5361847f8eSopenharmony_ci * @syscap SystemCapability.HiviewDFX.Hiview.FaultLogger 5461847f8eSopenharmony_ci * @since 8 5561847f8eSopenharmony_ci */ 5661847f8eSopenharmony_ci JS_CRASH = 3, 5761847f8eSopenharmony_ci /** 5861847f8eSopenharmony_ci * APP_FREEZE app freeze log type. 5961847f8eSopenharmony_ci * @syscap SystemCapability.HiviewDFX.Hiview.FaultLogger 6061847f8eSopenharmony_ci * @since 8 6161847f8eSopenharmony_ci */ 6261847f8eSopenharmony_ci APP_FREEZE = 4, 6361847f8eSopenharmony_ci } 6461847f8eSopenharmony_ci 6561847f8eSopenharmony_ci /** 6661847f8eSopenharmony_ci * Query the result of the current application FaultLog in callback Mode. 6761847f8eSopenharmony_ci * @param { FaultType } faultType - Fault type to query 6861847f8eSopenharmony_ci * @param { AsyncCallback<Array<FaultLogInfo>> } callback - Faultlog information data callback function 6961847f8eSopenharmony_ci * @syscap SystemCapability.HiviewDFX.Hiview.FaultLogger 7061847f8eSopenharmony_ci * @since 8 7161847f8eSopenharmony_ci * @deprecated since 9 7261847f8eSopenharmony_ci * @useinstead ohos.faultlogger/FaultLogger#query 7361847f8eSopenharmony_ci */ 7461847f8eSopenharmony_ci function querySelfFaultLog(faultType: FaultType, callback: AsyncCallback<Array<FaultLogInfo>>): void; 7561847f8eSopenharmony_ci 7661847f8eSopenharmony_ci /** 7761847f8eSopenharmony_ci * Query the result of the current application FaultLog in return promise mode. 7861847f8eSopenharmony_ci * @param { FaultType } faultType - Fault type to query 7961847f8eSopenharmony_ci * @returns { Promise<Array<FaultLogInfo>> } return faultlog information data by promise 8061847f8eSopenharmony_ci * @syscap SystemCapability.HiviewDFX.Hiview.FaultLogger 8161847f8eSopenharmony_ci * @since 8 8261847f8eSopenharmony_ci * @deprecated since 9 8361847f8eSopenharmony_ci * @useinstead ohos.faultlogger/FaultLogger#query 8461847f8eSopenharmony_ci */ 8561847f8eSopenharmony_ci function querySelfFaultLog(faultType: FaultType): Promise<Array<FaultLogInfo>>; 8661847f8eSopenharmony_ci 8761847f8eSopenharmony_ci /** 8861847f8eSopenharmony_ci * Query the result of the current application FaultLog in callback Mode. 8961847f8eSopenharmony_ci * @param { FaultType } faultType - Fault type to query 9061847f8eSopenharmony_ci * @param { AsyncCallback<Array<FaultLogInfo>> } callback - Faultlog information data callback function 9161847f8eSopenharmony_ci * @throws { BusinessError } 401 - The parameter check failed, Parameter type error 9261847f8eSopenharmony_ci * @throws { BusinessError } 801 - The specified SystemCapability name was not found 9361847f8eSopenharmony_ci * @throws { BusinessError } 10600001 - The service is not started or is faulty 9461847f8eSopenharmony_ci * @syscap SystemCapability.HiviewDFX.Hiview.FaultLogger 9561847f8eSopenharmony_ci * @since 9 9661847f8eSopenharmony_ci */ 9761847f8eSopenharmony_ci function query(faultType: FaultType, callback: AsyncCallback<Array<FaultLogInfo>>): void; 9861847f8eSopenharmony_ci 9961847f8eSopenharmony_ci /** 10061847f8eSopenharmony_ci * Query the result of the current application FaultLog in return promise mode. 10161847f8eSopenharmony_ci * @param { FaultType } faultType - Fault type to query 10261847f8eSopenharmony_ci * @returns { Promise<Array<FaultLogInfo>> } return faultlog information data by promise 10361847f8eSopenharmony_ci * @throws { BusinessError } 401 - The parameter check failed, Parameter type error 10461847f8eSopenharmony_ci * @throws { BusinessError } 801 - The specified SystemCapability name was not found 10561847f8eSopenharmony_ci * @throws { BusinessError } 10600001 - The service is not started or is faulty 10661847f8eSopenharmony_ci * @syscap SystemCapability.HiviewDFX.Hiview.FaultLogger 10761847f8eSopenharmony_ci * @since 9 10861847f8eSopenharmony_ci */ 10961847f8eSopenharmony_ci function query(faultType: FaultType): Promise<Array<FaultLogInfo>>; 11061847f8eSopenharmony_ci 11161847f8eSopenharmony_ci /** 11261847f8eSopenharmony_ci * FaultLog information data structure. 11361847f8eSopenharmony_ci * @interface FaultLogInfo 11461847f8eSopenharmony_ci * @syscap SystemCapability.HiviewDFX.Hiview.FaultLogger 11561847f8eSopenharmony_ci * @since 8 11661847f8eSopenharmony_ci */ 11761847f8eSopenharmony_ci interface FaultLogInfo { 11861847f8eSopenharmony_ci /** 11961847f8eSopenharmony_ci * Process id. 12061847f8eSopenharmony_ci * @type { number } 12161847f8eSopenharmony_ci * @syscap SystemCapability.HiviewDFX.Hiview.FaultLogger 12261847f8eSopenharmony_ci * @since 8 12361847f8eSopenharmony_ci */ 12461847f8eSopenharmony_ci pid: number; 12561847f8eSopenharmony_ci 12661847f8eSopenharmony_ci /** 12761847f8eSopenharmony_ci * User id. 12861847f8eSopenharmony_ci * @type { number } 12961847f8eSopenharmony_ci * @syscap SystemCapability.HiviewDFX.Hiview.FaultLogger 13061847f8eSopenharmony_ci * @since 8 13161847f8eSopenharmony_ci */ 13261847f8eSopenharmony_ci uid: number; 13361847f8eSopenharmony_ci 13461847f8eSopenharmony_ci /** 13561847f8eSopenharmony_ci * Fault type. 13661847f8eSopenharmony_ci * @type { FaultType } 13761847f8eSopenharmony_ci * @syscap SystemCapability.HiviewDFX.Hiview.FaultLogger 13861847f8eSopenharmony_ci * @since 8 13961847f8eSopenharmony_ci */ 14061847f8eSopenharmony_ci type: FaultType; 14161847f8eSopenharmony_ci 14261847f8eSopenharmony_ci /** 14361847f8eSopenharmony_ci * Second level timestamp. 14461847f8eSopenharmony_ci * @type { number } 14561847f8eSopenharmony_ci * @syscap SystemCapability.HiviewDFX.Hiview.FaultLogger 14661847f8eSopenharmony_ci * @since 8 14761847f8eSopenharmony_ci */ 14861847f8eSopenharmony_ci timestamp: number; 14961847f8eSopenharmony_ci 15061847f8eSopenharmony_ci /** 15161847f8eSopenharmony_ci * Fault reason. 15261847f8eSopenharmony_ci * @type { string } 15361847f8eSopenharmony_ci * @syscap SystemCapability.HiviewDFX.Hiview.FaultLogger 15461847f8eSopenharmony_ci * @since 8 15561847f8eSopenharmony_ci */ 15661847f8eSopenharmony_ci reason: string; 15761847f8eSopenharmony_ci 15861847f8eSopenharmony_ci /** 15961847f8eSopenharmony_ci * Fault module. 16061847f8eSopenharmony_ci * @type { string } 16161847f8eSopenharmony_ci * @syscap SystemCapability.HiviewDFX.Hiview.FaultLogger 16261847f8eSopenharmony_ci * @since 8 16361847f8eSopenharmony_ci */ 16461847f8eSopenharmony_ci module: string; 16561847f8eSopenharmony_ci 16661847f8eSopenharmony_ci /** 16761847f8eSopenharmony_ci * Fault summary. 16861847f8eSopenharmony_ci * @type { string } 16961847f8eSopenharmony_ci * @syscap SystemCapability.HiviewDFX.Hiview.FaultLogger 17061847f8eSopenharmony_ci * @since 8 17161847f8eSopenharmony_ci */ 17261847f8eSopenharmony_ci summary: string; 17361847f8eSopenharmony_ci 17461847f8eSopenharmony_ci /** 17561847f8eSopenharmony_ci * Fault log. 17661847f8eSopenharmony_ci * @type { string } 17761847f8eSopenharmony_ci * @syscap SystemCapability.HiviewDFX.Hiview.FaultLogger 17861847f8eSopenharmony_ci * @since 8 17961847f8eSopenharmony_ci */ 18061847f8eSopenharmony_ci fullLog: string; 18161847f8eSopenharmony_ci } 18261847f8eSopenharmony_ci} 18361847f8eSopenharmony_ci 18461847f8eSopenharmony_ciexport default FaultLogger; 185