日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢(xún)客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

背景

對(duì)于信息系統(tǒng)服務(wù),一般我們的重點(diǎn)監(jiān)控對(duì)象都是核心的后端服務(wù),通常會(huì)采用一些主流的APM(Application Performance Management)框架進(jìn)行監(jiān)控、告警、分析。那么對(duì)于移動(dòng)端的APP、小程序的運(yùn)行時(shí)狀態(tài)如何進(jìn)行實(shí)時(shí)監(jiān)控與分析呢?經(jīng)過(guò)這次CSDN官方的推薦,友盟+提供的APM服務(wù)可以實(shí)現(xiàn)我們的這一目標(biāo),下面我們就嘗試集成體驗(yàn)下友盟+提供的這款A(yù)PM服務(wù)。

由于我們的 APP 是基于華為的鴻蒙操作系統(tǒng)進(jìn)行開(kāi)發(fā),而注冊(cè)友盟后,發(fā)現(xiàn)當(dāng)前對(duì)于移動(dòng)端APP,友盟官方提供了 Android 與 iOS 移動(dòng)端操作系統(tǒng)的集成與接入,尚未提供對(duì)華為鴻蒙操作系統(tǒng)的支持(不過(guò)后來(lái)看到在上報(bào)的異常處可按照 只看鴻蒙設(shè)備 進(jìn)行篩選:指發(fā)生錯(cuò)誤/異常的設(shè)備為HarmonyOS,但尚未支持HarmonyOS系統(tǒng)級(jí)別錯(cuò)誤)。

體驗(yàn)流程

本著體驗(yàn)下友盟+提供的APM服務(wù)的目的,這里使用一個(gè)基于 Android 的 Hello World 示例:

首先按照官方文檔完成移動(dòng)端 APP 與友盟 SDK 的集成;

然后在示例中拋出一些異常( OOM 等);

最后在友盟的移動(dòng)端應(yīng)用監(jiān)控首頁(yè)可以看到我們應(yīng)用上報(bào)的異常信息。

使用IDEA創(chuàng)建Android項(xiàng)目

當(dāng)然,集成之前需要先搭建一個(gè)極簡(jiǎn)的 Android 的 Hello World 應(yīng)用。

由于我之前并沒(méi)有Android的移動(dòng)端開(kāi)發(fā)經(jīng)驗(yàn),當(dāng)然也沒(méi)有對(duì)應(yīng)的開(kāi)發(fā)環(huán)境,那么這里直接使用IDEA創(chuàng)建一個(gè)Android應(yīng)用。

安裝AndroidSDK

在IDEA中創(chuàng)建一個(gè)Android項(xiàng)目,先安裝Android的SDK,我這里使用默認(rèn)位置直接安裝。

創(chuàng)建一個(gè)空的Activity

創(chuàng)建一個(gè)虛擬設(shè)備

虛擬設(shè)備安裝完成

集成友盟+APM的SDK

友盟+的APM的SDK集成過(guò)程也是相當(dāng)絲滑,參考官方文檔推薦的 maven 線上接入 SDK,只需三步:1.創(chuàng)建應(yīng)用;2.添加SDK依賴(lài);3.初始化信息上報(bào)。

1. 創(chuàng)建應(yīng)用

2. 添加SDK依賴(lài)

3. 初始化信息上報(bào)

涉及到的配置與代碼如下:

dependencies {

implementation fileTree(dir: ‘libs’, include: ['*.jar'])

implementation ‘androidx.appcompat:appcompat:1.0.2′

implementation ‘androidx.constraintlayout:constraintlayout:1.1.3′

testImplementation ‘junit:junit:4.12′

androidTestImplementation ‘androidx.test:runner:1.1.1′

androidTestImplementation ‘androidx.test.espresso:espresso-core:3.1.1′

// 友盟基礎(chǔ)組件庫(kù)(所有友盟業(yè)務(wù)SDK都依賴(lài)基礎(chǔ)組件庫(kù))

implementation “com.umeng.umsdk:common:9.4.2″ // 版本號(hào)(必選))

implementation “com.umeng.umsdk:asms:1.4.1″ // asms包依賴(lài)(必選)

implementation “com.umeng.umsdk:apm:1.4.2″ // U-APM產(chǎn)品包依賴(lài)(必選)

}

// umeng

buildscript {

repositories {

google()

jcenter()

}

dependencies {

classpath ‘com.android.tools.build:gradle:3.4.0′

// NOTE: Do not place your application dependencies here; they belong

// in the individual module build.gradle files

}

}

allprojects {

repositories {

google()

jcenter()

}

}

// 通用初始化

public class MainActivity extends AppCompatActivity {

@Override

protected void onCreate(Bundle savedInstanceState) {

// umeng

UMConfigure.setLogEnabled(true);

UMConfigure.init(this, “613b2a85314602341a0df802″, “csdn”, UMConfigure.DEVICE_TYPE_PHONE, “”);

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

}

}

最終配置

啟動(dòng)后報(bào)錯(cuò):無(wú)法聯(lián)網(wǎng)

由于項(xiàng)目啟動(dòng)后,友盟+的SDK會(huì)進(jìn)行信息上報(bào),這時(shí)需要聯(lián)網(wǎng),而默認(rèn)創(chuàng)建項(xiàng)目后沒(méi)有聯(lián)網(wǎng)權(quán)限,因此會(huì)出現(xiàn)一個(gè)報(bào)錯(cuò)信息。

為APP配置聯(lián)網(wǎng)權(quán)限

集成成功效果

模擬各類(lèi)異常

為了體驗(yàn)友盟+APM服務(wù)基本的監(jiān)控功能,我們這里模擬一些異常,然后看這些異常信息是否可以上報(bào)至APM平臺(tái)。

普通的運(yùn)行時(shí)異常:ArithmeticException/NullPointerException

棧溢出異常:StackOverflowError

內(nèi)存溢出異常:. OutOfMemoryError

除0異常:ArithmeticException

// 發(fā)送異常按鈕的點(diǎn)擊事件:模擬除零異常

public void exception(View view) {

try {

int value = 8 / 0;

} catch (Exception e) {

UMCrash.generateCustomLog(e, “5001″);

}

}

棧溢出異常:StackOverflowError

// 發(fā)送SoF異常按鈕的點(diǎn)擊事件:模擬棧溢出異常

public void exceptionStackOverFlow(View view) {

try {

exceptionStackOverFlow(view);

} catch (Exception e) {

UMCrash.generateCustomLog(e, “5002″);

}

}

內(nèi)存溢出異常:. OutOfMemoryError

// 發(fā)送OOM異常按鈕的點(diǎn)擊事件:模擬內(nèi)存溢出異常,當(dāng)然OOM還有其他類(lèi)型,這里以堆溢出為例進(jìn)行演示

public void exceptionOutOfMemory(View view) {

try {

Listlist = new ArrayList<>();

while (true) {

list.add(new byte[1024 * 1024]);

}

} catch (Exception e) {

UMCrash.generateCustomLog(e, “5003″);

}

}

異常自動(dòng)上報(bào)

除0異常上報(bào):ArithmeticException

棧溢出異常上報(bào):StackOverflowError

內(nèi)存溢出異常上報(bào):OutOfMemoryError

異常告警

支持郵箱、釘釘、企業(yè)微信、飛書(shū)以及Webhook方式推送。

統(tǒng)計(jì)分析

可對(duì)不同類(lèi)型的異常進(jìn)行多維度的統(tǒng)計(jì)與分析,大家可以繼續(xù)探索挖掘。

總結(jié)

通過(guò)以上流程,我們測(cè)試了移動(dòng)端APP異常數(shù)據(jù)上報(bào)與統(tǒng)計(jì)功能,這個(gè)其實(shí)有點(diǎn)類(lèi)似我們物聯(lián)網(wǎng)設(shè)備數(shù)據(jù)采集、傳輸與分析的流程,而且整個(gè)集成的流程也比較順暢,簡(jiǎn)單幾步就給我們的APP做了做了一個(gè)服務(wù)遠(yuǎn)程監(jiān)控端。

后面我們APP上線后,友盟+這款A(yù)PM服務(wù)將是我們線上移動(dòng)端應(yīng)用監(jiān)控的一把利器。另外,期待友盟+官方可以提供鴻蒙操作系統(tǒng)的接入,以便直接支持Huawei DevEco Studio中的基于HarmonyOS 虛擬設(shè)備,同時(shí)方便開(kāi)發(fā)與調(diào)試。

關(guān)于作者

牛曉青,碩士,畢業(yè)于寧波大學(xué),電子與通信工程專(zhuān)業(yè),研究方向?yàn)槟X電信號(hào)處理及模式識(shí)別。

曾參與腦電信號(hào)模式識(shí)別研究,教學(xué)軟件、分布式互聯(lián)網(wǎng)項(xiàng)目以及大型物聯(lián)網(wǎng)平臺(tái)的設(shè)計(jì)開(kāi)發(fā)等工作。

有4年團(tuán)隊(duì)管理經(jīng)驗(yàn),曾從0到1搭建技術(shù)團(tuán)隊(duì),從最初的1人到現(xiàn)在的25人。負(fù)責(zé)的項(xiàng)目已落地多個(gè)城市。

負(fù)責(zé)20+人團(tuán)隊(duì)管理、日常工作任務(wù)分配、工作進(jìn)度跟蹤、工作成果匯報(bào)、團(tuán)隊(duì)內(nèi)部分享。

精進(jìn)管理,取得PMP項(xiàng)目管理專(zhuān)業(yè)人士資格認(rèn)證。

負(fù)責(zé)公司業(yè)務(wù)平臺(tái)架構(gòu)設(shè)計(jì),方案編寫(xiě),資金申報(bào),研發(fā)部團(tuán)隊(duì)建設(shè),項(xiàng)目驗(yàn)收培訓(xùn)、對(duì)外宣講等工作。持續(xù)輸出,獲得CSDN博客專(zhuān)家認(rèn)證。

分享到:
標(biāo)簽:性能 管理工具 監(jiān)控 APM APP
用戶(hù)無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定