色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

HarmonyOS對DFX能力的要求

HarmonyOS開發者 ? 來源:HarmonyOS開發者 ? 作者:HarmonyOS開發者 ? 2021-12-17 14:39 ? 次閱讀

提到開發一個產品,我們通常首先想到的是要實現什么樣的功能,但是除了功能之外,非功能屬性也會很大程度上影響一個產品的體驗效果,比如不定時出現的應用卡死、崩潰現象。那為什么有的系統故障頻頻,有的卻很少出現這些問題呢,這就不得不提到我們今天的主角DFX了。

一、什么是DFX?

DFX是早在1960~1970年代就出現的產品設計理念,但是對于不少開發者而言,這是一個陌生的概念,什么是DFX?所謂DFX(Design For X),是指產品的非功能屬性設計,其中的X代表產品的某個特性或者產品生命周期的某個階段。從下面的圖可以看出,產品的非功能屬性是非常豐富的,它們直接影響產品的質量、效率、成本等這些長期核心競爭力。圖1 產品DFX在過去的幾年里,華為軟件的交付效率和質量一直在不斷提高,每個軟件大版本相較于上個版本交付時間在不斷縮短,故障率也有大幅降低,這些提升的背后,DFX起到了很重要的作用。隨著業界認識的深入,DFX逐漸成為了卓越產品設計的基石以及頭部企業產品設計開發的基礎設施,因此現在對DFX又有了另一種解釋,即“Design For eXcellence”,面向卓越的設計。

二、什么是操作系統DFX?

現在我們了解了DFX的概念,也知道DFX設計對產品來說異常重要,因此我們在設計HarmonyOS的時候,堅持將DFX的理念帶了進來,使其成為操作系統的公共基礎設施,使能高質量卓越產品的設計、實現、測試和維護。通過對應用程序、設備產品這些操作系統所服務的對象進行考察,我們歸納出系統所能提供的非功能需求,并從中提煉出公共、基礎的DFX框架加入到HarmonyOS中,這就產生了操作系統DFX。開發者在使用HarmonyOS的過程中,可以根據產品需要直接使用或靈活拓展這些DFX能力。圖2 操作系統DFX看到這里,大家可能會覺得,操作系統DFX不就是將產品DFX的能力拷貝到操作系統中嗎。其實不然,操作系統DFX相較于產品DFX有兩個顯著的不同點:

由于操作系統不是為某類產品所專門定制的,而是一個全棧、公共的基礎設施,因此操作系統DFX主要聚焦記錄、診斷、恢復、觀測、剖析、維護和服務等開發產品所需要的公共能力。

操作系統DFX更多地關注開發者和設備商的開發體驗,以幫助他們設計出更卓越的產品為目標。

三、HarmonyOS對DFX能力的要求

既然操作系統DFX是為了使能開發者開發出更卓越的產品,而HarmonyOS中也加入了DFX框架和能力,那么大家一定很好奇,HarmonyOS中的DFX是什么樣的?DFX能為HarmonyOS帶來些什么呢?在回答這些問題之前,我們先來看一下HarmonyOS對DFX能力的要求。幾乎所有的操作對DFX的要求都包含以下三方面:

1. 輕量有效:系統資源開銷少,易用易學習,精準有效。

2. 基礎通用:關鍵、基礎、通用、易擴展,方便開發者裁剪和增強。3. 覆蓋全面:全面服務應用和設備品類,全面服務開發者和設備商,全面覆蓋產品全生命周期。HarmonyOS除了這些基本要求外,還對DFX提出了新的要求:

1. 我們知道,HarmonyOS是面向超級終端的系統,而不同超級終端的資源可能是差距巨大的,比如有的富設備提供的資源為RAM 8GB、ROM 512GB,而有的瘦設備卻只有RAM 128KB、ROM 2MB。面對這么大的資源差異,HarmonyOS對DFX提出了支持全棧多語言、可大可小、靈活部署的要求。

2. 除了面向超級終端,HarmonyOS的另一大特色是其豐富的分布式超級終端場景支持能力,因此HarmonyOS要求系統的DFX能力要能夠支持分布式場景,比如分布式的日志、分布式跟蹤、分布式調試調優等等。 圖3 HarmonyOS對DFX能力的要求

四、HarmonyOS DFX框架與能力

通過上面的介紹,相信大家已經對操作系統DFX的概念有了一定的了解,那么我們現在開始進入正題,給大家介紹一下HarmonyOS DFX的框架與能力。圖4 HarmonyOS DFX框架和能力全景圖圖4的全景圖中間褐色部分為HarmonyOS DFX所提供的能力。HarmonyOS DFX提供了以下能力:(1)記錄能力:提供了輕量的日志、事件和跟蹤功能,可以將程序運行的軌跡記錄下來,為后續分析度量奠定基礎。(2)故障管理能力:提供精準有效的故障檢測、定位和恢復能力。(3)觀測剖析能力:提供了統一便捷的觀測與剖析工具,主要包含信息導出、信息分析和聯動調試能力。那么這些DFX能力的作用又是什么呢?從全景圖中代表DFX的中間部分與周邊的關系可以看出,DFX的這些能力不僅需要為操作系統的其他子系統提供服務,其更重要的使命是支撐影音娛樂、智慧出行等軟件應用以及“1+8+N”等硬件設備。除此之外,這些能力也是產品開發運維工具鏈的基礎,需要支撐開發調試的IDE工具以及產品運維大數據分析平臺的構建。在了解了HarmonyOS DFX的框架之后,我們知道HarmonyOS DFX主要包含日志、事件、跟蹤、故障管理、觀測剖析這5部分。其中日志、事件和跟蹤體現了DFX的記錄能力,故障管理能夠幫助開發者快速定位和發現問題,而觀測剖析則是通過一系列工具,幫助開發者在集成的環境下使用這些DFX能力。接下來我們就來逐個看看HarmonyOS中所具備的這些DFX能力。1. 日志(HiLog)

日志通常被視為最簡單的功能,但是在開發者使用日志的過程中,有兩個比較明顯的問題,一個是濫打日志現象,另一個是隨著軟件規模和組織規模的擴大,系統日志雜亂、流量超大的問題越來越嚴重,不僅容易泄露隱私,甚至連開發者想查看自己的日志都變得愈發困難。針對這兩個問題,HarmonyOS DFX設計了一套全新的日志功能——HiLog。下面是HiLog的示意圖。

圖5 日志(HiLog)從上圖可以看出,HiLog不僅提供了支持JS/Java/C/C++多語言的日志采集功能,還著重在日志分類查詢、流量控制和隱私處理上做了專門設計。下面我們逐個看看這些設計。(1)分類查詢

為了解決日志雜亂、不便查看的問題,HiLog對于不同級別的日志進行了分類,提供分級查詢日志的命令。并且除了可以按照級別(Level)、類型(Type)、標簽(Tag)查看日志,還提供了按照領域(Domain)查看日志的命令。所謂領域是指跨軟件棧層次的業務垂域。那么我們為什么要按照領域查看日志呢?我們設想一下以下場景:Camera功能領域包含應用、服務和驅動,開發者如果想從一堆日志中過濾出Camera領域的日志,是沒有功能支持的,用老的過濾方法是不行的。為此,我們給需要的領域定義了DomainID,通過領域過濾來解決這個問題。

(2)流量控制

通過分類查詢,我們解決了日志查看不便的問題,但是超量的日志也會對系統性能產生巨大影響,根據經驗,如果把系統中所有日志全部都打開,嚴重的情況下系統的性能可能會下降至70%。那么該如何解決日志超量的問題呢?

HiLog通過對不同領域的日志總量進行流控來解決這個問題,在采集日志時,記錄每個領域的日志總量,識別出超過閾值的領域,然后對該領域的超量日志進行控制。其中對超量日志的處理在調試(Debug)和商用(Release)兩種模式下有不同的處理策略:在Debug模式下,會提示超量日志,但不會真的丟棄超量日志。而在Release模式下,會將超量的日志丟棄并打印一條日志丟棄的提示。

圖6 流量控制的兩種模式(3)隱私管控

除了查詢不便和超量日志問題,日志的隱私管控也需要引起重視。在我們開發調試的過程中,經常會傾向于打印更多的信息,這就很有可能將用戶隱私信息也打印出來,比如姓名、訪問的URL地址等。而現在對于隱私泄露的處罰是比較嚴厲的,歐盟的《通用數據保護條例》(General Data Protection Regulation,簡稱GDPR)針對隱私泄露最高罰款2千萬歐元或年度營業額的4%,因此,我們在日志打印的時候需要非常謹慎,不能將用戶隱私打印到日志里。

為了對隱私安全進行管控,HiLog提供了變量打印控制功能,開發者可以通過格式化字符{private}或{public}靈活對變量內容進行聲明,如果聲明為{private},則表示該變量為隱私變量,在Release模式下會隱藏這些隱私的變量內容,而對于不需要管控的變量,則可用{public}來指明,不進行隱藏。

圖7 HiLog的變量打印控制2. 事件(HiView)

除了日志以外,HarmonyOS DFX對事件也提供了記錄能力,并為此設計了一套全新的事件框架(HiView)。

圖8 事件框架HiView我們知道,事件可能來源于應用,也可能來源于系統,因此HiView框架分為系統事件框架和應用事件框架兩個部分。每個部分都提供了事件采集接口,系統事件框架使用HiSysEvent接口,應用事件框架使用HiAppEvent接口。除此之外,HiView還提供了靈活的訂閱查詢接口,可以為后端處理者分享采集到的事件。該接口的應用場景有很多,比如IDE可以通過此接口訂閱事件,從而在調試界面上呈現事件,而系統廠商也可以通過此接口訂閱事件,再進行定制化處理。另外,HiView還對系統事件框架的處理邏輯做了插件化設計,通過在HarmonyOS上配置和部署系統插件,可以實現對不同大小終端設備的靈活適配。3. 跟蹤(HiTrace)

接下來,我們來看一下HarmonyOS DFX的最后一項記錄能力——跟蹤。

由于HarmonyOS是面向超級終端的系統,因此除了像常規操作系統那樣跟蹤應用間、進程間的交互過程,還需要具備跨設備跟蹤程序交互過程的能力。在HarmonyOS中,這種分布式跟蹤的能力由HiTrace提供,而HiTrace通過TraceID的傳遞來對整個業務鏈進行跟蹤。TraceID不僅能夠在APP、Native、Kernel之間跨層傳遞,還能夠跨進程、甚至跨設備傳遞。值得一提的是,HiTrace是一種輕量級的跟蹤機制,在Wi-Fi條件下僅僅會增加微秒級延遲,而這種延遲對系統來說影響是非常小的。

圖9 HiTrace分布式跟蹤4. 故障管理

除了上面介紹的一些記錄能力,故障管理也是HarmonyOS DFX的一項重要能力。為了幫助開發者快速定位和發現問題,HarmonyOS DFX在系統側部署了全量、精準的故障檢測機制,包含7類單系統故障檢測器(進程崩潰、應用卡死、資源泄露、踩內存、整機重啟、不開機和系統死機)和1類分布式故障檢測器,通過這些檢測器,故障檢測率可以達到80%以上。為了滿足HarmonyOS面向超級終端的特性,這些故障檢測器還可以在不同設備上根據資源靈活進行部署。

圖10 故障檢測器由于篇幅原因,下面我們重點對這7類故障檢測器中的進程崩潰檢測器、應用卡死檢測器以及系統死機檢測器進行介紹:(1)進程崩潰檢測器

說到進程崩潰大家一定都不陌生,這是一種最常見的故障,對此的檢測機制也都比較成熟,但當前的檢測機制還存在著一些問題,比如,應用進程無法直接獲取自己進程相關的崩潰日志,崩潰日志包含很多無效信息、重復信息,以及抓取崩潰調用棧失敗等。為了解決這些問題,HarmonyOS DFX對其提供的進程崩潰檢測器做了以下特殊設計:

支持Java/JS/Native全棧檢測。

開放專門的API給應用進程查詢自己進程的崩潰日志,能且只能獲取自己進程的崩潰信息,解決了應用無權獲取自己崩潰日志的問題。

通過對崩潰日志信息的去重,刪除了很多的無效信息,幫助開發者更加準確地定位信息。

支持同時抓取多個進程的調用棧,避免抓取日志不全的問題,保證更準確地還原故障現場。

(2)應用卡死&系統死機檢測器

應用卡死和系統死機也是比較常見的故障,它們一般概率性發生,但是嚴重影響用戶體驗。檢測這類問題的難點在于,如何將軟件故障與用戶感知的死機故障做有效匹配,如果所有軟件bug都上報,開發者會無從下手,而如果漏檢了則又無法準確定位。為此,HarmonyOS DFX對應用卡死&系統死機檢測器,做了以下特殊設計:

在系統中部署了32個檢測點,全面檢測軟件死機故障。

另外增加了4個用戶行為檢測點,準確檢測用戶對死機現象的反應。

這些部署的檢測點支持根據不同設備的故障模式靈活部署,如果我們的設備沒有屏幕,那么就不用去部署亮滅屏超時及快速點擊屏幕檢測點。除了測點,判決規則也能夠根據故障檢測結果的大數據分析動態進行調整。通過上述優化,死機故障檢測率從30%提升到了80%。

圖11 應用卡死&系統死機檢測5. 觀測剖析

看到這里,大家或許會有個疑問,開發者如何才能使用HarmonyOS DFX所提供的這些日志、事件、跟蹤和故障管理能力呢?那接下來我們就來介紹一下我們的觀測剖析工具,這些工具可以幫助開發者分析定位問題、調試調優。

(1)信息導出工具(HiDumper)

開發者在開發、調試、測試、維護等過程中,需要頻繁觀測系統的各種信息,一般這些觀測信息都是通過信息導出來獲得。雖然通常操作系統都會提供各類信息導出工具,但是這些工具之間可能規則差異很大,并且很難對自動化測試工具或IDE進行適配。隨著產品種類的增加,系統要導出的信息也變得異常豐富,信息導出接口多、能力雜,適配難的問題也更加凸顯。

為了避免上述信息導出問題,HarmonyOS提供了統一的系統信息導出工具HiDumper,相比于其他信息導出工具,HiDumper對命令參數進行了統一的規格化管理,并對所有導出信息進行分類、調度和輸出,減少了后端工具的適配難度。

圖12 信息導出工具HiDumper(2)分布式聯動調試工具

目前的APP調試一般都是使用本地調試器,每個待調試設備需要一套獨立的調試終端和IDE工具,這顯然不能很好地支持需要多設備之間聯動調試的分布式業務場景。為了應對這種場景,HarmonyOS全新開發了分布式聯動調試工具,將跨設備的日志、事件、跟蹤及故障日志在同一個IDE調試窗口進行關聯展示,給開發者類似單設備調試的窗口體驗。IDE運行時能自動捕獲異常信息,通過異常信息關聯出相關的事件列表和流水日志,再通過異常日志能準確定位到代碼行,大大提高調試效率。

圖13 分布式聯動調試(3)分布式調優工具

在介紹完觀測和調試工具之后,最后我們再來看一下調優工具。HarmonyOS新開發的分布式調優工具,能準確全棧跟蹤JS/Java/C/C++等多語言調用鏈,記錄跨線程、跨進程、跨設備等不同顆粒度的活動,生成規格化的HiTrace文件。通過將HiTrace文件在IDE圖形化工具中展示,開發者可以很便利地分析分布式應用性能瓶頸。

圖14 分布式調優以上就是我們對于HarmonyOS DFX關鍵部分的介紹了,相信大家對于DFX的概念也有了初步的認識。后續,HarmonyOS DFX將在缺陷檢測、故障恢復、大數據分析以及更多調試調優工具方面繼續努力,為開發者提供更多能力,助力開發者開發更卓越的產品,大家敬請期待!

原文標題:進程崩潰/應用卡死,故障頻頻怎么辦?

文章出處:【微信公眾號:HarmonyOS開發者】歡迎添加關注!文章轉載請注明出處。

審核編輯:彭菁
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • DFx
    DFx
    +關注

    關注

    0

    文章

    35

    瀏覽量

    10539
  • 開發者
    +關注

    關注

    1

    文章

    568

    瀏覽量

    17005
  • HarmonyOS
    +關注

    關注

    79

    文章

    1974

    瀏覽量

    30147

原文標題:進程崩潰/應用卡死,故障頻頻怎么辦?

文章出處:【微信號:HarmonyOS_Dev,微信公眾號:HarmonyOS開發者】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    AWTK 最新動態:支持鴻蒙系統(HarmonyOS Next)

    導讀HarmonyOS是全球第三大移動操作系統,有巨大的市場潛力,在國產替代的背景下,機會多多,AWTK支持HarmonyOS,讓AWTK開發者也能享受HarmonyOS生態的紅利。AWTK全稱
    的頭像 發表于 11-06 08:03 ?224次閱讀
    AWTK 最新動態:支持鴻蒙系統(<b class='flag-5'>HarmonyOS</b> Next)

    慶科信息獲HarmonyOS高級應用開發能力認證!助力品牌快速打造鴻蒙原生應用

    近日,上海慶科信息技術有限公司榮獲HarmonyOS應用開發者高級認證,公司在華為鴻蒙生態的開發能力得到進一步拓展,能夠幫助客戶快速開發基于HarmonyOS Next的鴻蒙原生應用,助力廠商全面擁抱鴻蒙生態。
    的頭像 發表于 07-17 13:24 ?590次閱讀
    慶科信息獲<b class='flag-5'>HarmonyOS</b>高級應用開發<b class='flag-5'>能力</b>認證!助力品牌快速打造鴻蒙原生應用

    HarmonyOS NEXT Developer Beta1最新術語表

    Foundation,硬件驅動框架,用于提供統一外設訪問能力和驅動開發、管理框架。 HML HarmonyOS Markup Language,是一套類HTML的標記語言。通過組件、事件構建出頁面
    發表于 06-27 16:16

    HarmonyOS NEXT Developer Beta1中的Kit

    HarmonyOS NEXT Developer Preview1(API 11)版本開始,HarmonyOS SDK以Kit維度提供豐富、完備的開放能力,涵蓋應用框架、系統、媒體、圖形、應用服務
    發表于 06-26 10:47

    HarmonyOS開發案例:【首選項】

    基于HarmonyOS的首選項能力實現的一個簡單示例。
    的頭像 發表于 04-19 16:20 ?1242次閱讀
    <b class='flag-5'>HarmonyOS</b>開發案例:【首選項】

    如何在AMD Vivado? Design Tool中用工程模式使用DFX流程?

    本文介紹了在 AMD Vivado? Design Tool 中用工程模式使用 DFX 流程以及需要注意的地方。在使用 DFX 工程模式的過程中要把具體步驟映射到相應的 DFX 非工程模式的步驟,這樣才能更好地理解整個流程的運行
    的頭像 發表于 04-17 09:28 ?863次閱讀
    如何在AMD Vivado? Design Tool中用工程模式使用<b class='flag-5'>DFX</b>流程?

    2024款鴻蒙OS 最新HarmonyOS Next_HarmonyOS4.0系列教程分享

    鴻蒙的出現,標志著中國科技的崛起。HarmonyOS就是我們說的華為鴻蒙系統,截止到2023年8月4日已有超過7億臺設備搭載了鴻蒙OS系統。據多家媒體報道,2024年國內有21所985大學都開設
    發表于 02-28 10:29

    HarmonyOS開發技術全面分析

    事件通知、電話、多媒體、DFX 、 MSDP & DV 等子系統組成。 ? 增強軟件服務子系統集 :為 HarmonyOS 提供針對不同設備的、差異化的能力增強型軟件服務,由智慧屏專有業務
    發表于 02-21 16:31

    HarmonyOS如何使用異步并發能力進行開發

    一、并發概述 并發是指在同一時間段內,能夠處理多個任務的能力。為了提升應用的響應速度與幀率,以及防止耗時任務對主線程的干擾,HarmonyOS系統提供了異步并發和多線程并發兩種處理策略
    的頭像 發表于 02-18 09:18 ?526次閱讀

    HarmonyOS SDK 助力新浪新聞打造精致易用的新聞應用

    原生智能是 HarmonyOS NEXT 的核心亮點之一,依托 HarmonyOS SDK 豐富全面的開放能力,開發者只需通過幾行代碼,即可快速實現 AI 功能。新浪新聞作為鴻蒙原生應用開發的先行者
    發表于 02-07 15:51

    HarmonyOS SDK,助力開發者打造煥然一新的鴻蒙原生應用

    鴻蒙星河版重磅發布,帶來了全新架構、全新體驗、全新生態。作為支撐鴻蒙原生應用開發的技術源動力,HarmonyOS SDK 將系統級能力全面對外開放,覆蓋了應用框架、應用服務、系統、媒體、圖形、AI
    發表于 01-19 10:31

    采用UltraScale/UltraScale+芯片的DFX設計注意事項

    采用UltraScale/UltraScale+芯片進行DFX設計時,建議從以下角度對設計進行檢查。
    的頭像 發表于 01-18 09:27 ?903次閱讀
    采用UltraScale/UltraScale+芯片的<b class='flag-5'>DFX</b>設計注意事項

    HarmonyOS SDK獲得OSCHINA、ITPUB頒發的2023年度&quot;技術卓越&quot;獎項

    自2023年9月華為宣布鴻蒙原生應用全面啟動以來,HarmonyOS SDK通過將HarmonyOS系統級能力對外開放,支撐開發者高效打造更純凈、更智能、更精致、更易用的鴻蒙原生應用,和開發者共同成長。
    的頭像 發表于 01-13 10:03 ?562次閱讀
    <b class='flag-5'>HarmonyOS</b> SDK獲得OSCHINA、ITPUB頒發的2023年度&quot;技術卓越&quot;獎項

    持續構建行業影響力|HarmonyOS SDK榮膺年度“技術卓越”獎項

    自 2023 年 9 月華為宣布鴻蒙原生應用全面啟動以來,HarmonyOS SDK 通過將 HarmonyOS 系統級能力對外開放,支撐開發者高效打造更純凈、更智能、更精致、更易用的鴻蒙原生
    發表于 01-12 09:33

    harmonyos和安卓的區別

    HarmonyOS是由華為開發的一款全場景分布式操作系統,而安卓(Android)則是由谷歌開發的移動操作系統。雖然兩者都是操作系統,但它們在很多方面存在明顯的區別。下面是關于HarmonyOS和安
    的頭像 發表于 01-10 17:55 ?3509次閱讀
    主站蜘蛛池模板: 国产99在线视频| 永久免费精品影视网站| 啪啪羞羞GIF男女0OXX动态图| 久久99国产精品一区二区| 国产午夜精品理论片在线| 国产精品人妻无码99999| 大香网伊人久久综合观看| 苍井空小公主qvod| AV精品爆乳纯肉H漫网站| 99日精品欧美国产| 99日韩精品| 草草久久久亚洲AV成人片 | 毛片免费大全| 老太婆风流特黄一级| 理论片午午伦夜理片I| 老师你奶真大下面水真多| 浪小辉军警服务员VIDEOS| 蜜芽视频在线观看视频免费播放| 榴莲黄版无限刷| 牛牛自拍国产免费视频| 欧美日韩精品久久久免费观看| 欧美一级情欲片在线| 轻轻cao| 日本无卡无吗在线| 视频成人永久免费下载| 小SAO货叫大声点妓女| 亚洲国产成人爱AV在线播放丿| 亚洲人精品午夜射精日韩| 一本色道久久综合亚洲精品| 中文字幕一区二区视频| 99热这里只有精品6| 古代荡乳尤物H妓女调教| 国产精品一区第二页| 精品国产乱码久久久久久人妻 | 99久久久无码国产精品免费人妻| 99热在线精品视频| 岛国在线无码免费观| 国产免费阿v精品视频网址| 精品国产乱码久久久久久上海公司| 久久er99热精品一区二区| 免费果冻传媒2021在线看|