Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
YDL-Component-Medical
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
杨凯
YDL-Component-Medical
Commits
c45f65eb
Commit
c45f65eb
authored
Apr 28, 2022
by
万齐军
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: apm事件埋点
parent
ad631223
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
58 additions
and
4 deletions
+58
-4
build.gradle
m-audioim/build.gradle
+2
-3
AudioHomeActivity.kt
m-audioim/src/main/java/com/ydl/audioim/AudioHomeActivity.kt
+24
-1
YDLavManager.kt
m-audioim/src/main/java/com/ydl/audioim/YDLavManager.kt
+15
-0
ApmEvent.kt
m-audioim/src/main/java/com/ydl/audioim/utils/ApmEvent.kt
+17
-0
No files found.
m-audioim/build.gradle
View file @
c45f65eb
...
@@ -75,9 +75,8 @@ dependencies {
...
@@ -75,9 +75,8 @@ dependencies {
kapt
"com.alibaba:arouter-compiler:$arouter_compiler"
kapt
"com.alibaba:arouter-compiler:$arouter_compiler"
api
"com.alibaba:arouter-api:$arouter_api"
api
"com.alibaba:arouter-api:$arouter_api"
api
(
'com.ydl:ydl-av:1.3.8@aar'
){
implementation
"com.ydl:ydl-av:1.3.9"
transitive
=
true
implementation
'com.volcengine:apm_insight:1.4.6.cn'
}
if
(
rootProject
.
ext
.
dev_mode
){
if
(
rootProject
.
ext
.
dev_mode
){
//开发时使用
//开发时使用
...
...
m-audioim/src/main/java/com/ydl/audioim/AudioHomeActivity.kt
View file @
c45f65eb
...
@@ -34,6 +34,7 @@ import com.ydl.audioim.player.AudioPlayer
...
@@ -34,6 +34,7 @@ import com.ydl.audioim.player.AudioPlayer
import
com.ydl.audioim.presenter.AudioHomePresenterImpl
import
com.ydl.audioim.presenter.AudioHomePresenterImpl
import
com.ydl.audioim.utils.AudioLogUtils
import
com.ydl.audioim.utils.AudioLogUtils
import
com.ydl.audioim.utils.DateUtils
import
com.ydl.audioim.utils.DateUtils
import
com.ydl.audioim.utils.onConfideEvent
import
com.ydl.audioim.widget.AxbConfirmDialog
import
com.ydl.audioim.widget.AxbConfirmDialog
import
com.ydl.audioim.widget.ZDialog
import
com.ydl.audioim.widget.ZDialog
import
com.ydl.webview.H5Params
import
com.ydl.webview.H5Params
...
@@ -55,7 +56,6 @@ import com.ydl.ydlcommon.utils.log.AliYunLogConfig
...
@@ -55,7 +56,6 @@ import com.ydl.ydlcommon.utils.log.AliYunLogConfig
import
com.ydl.ydlcommon.utils.log.AliYunRichLogsHelper
import
com.ydl.ydlcommon.utils.log.AliYunRichLogsHelper
import
com.ydl.ydlcommon.utils.log.LogHelper
import
com.ydl.ydlcommon.utils.log.LogHelper
import
com.ydl.ydlcommon.utils.remind.ToastHelper
import
com.ydl.ydlcommon.utils.remind.ToastHelper
import
com.yidianling.common.tools.ToastUtil
import
com.yidianling.user.api.service.IUserService
import
com.yidianling.user.api.service.IUserService
import
de.greenrobot.event.EventBus
import
de.greenrobot.event.EventBus
import
io.agora.rtc.Constants
import
io.agora.rtc.Constants
...
@@ -262,6 +262,7 @@ class AudioHomeActivity :
...
@@ -262,6 +262,7 @@ class AudioHomeActivity :
override
fun
onJoinChannelSuccess
(
channel
:
String
?,
uid
:
Int
,
elapsed
:
Int
)
{
override
fun
onJoinChannelSuccess
(
channel
:
String
?,
uid
:
Int
,
elapsed
:
Int
)
{
super
.
onJoinChannelSuccess
(
channel
,
uid
,
elapsed
)
super
.
onJoinChannelSuccess
(
channel
,
uid
,
elapsed
)
onMeJoined
()
callEventSave
(
"20"
,
"$uid 用户声网加入频道成功:channel=$channel"
)
callEventSave
(
"20"
,
"$uid 用户声网加入频道成功:channel=$channel"
)
LogUtil
.
e
(
"[agora]$uid 用户声网加入频道成功:channel=$channel"
)
LogUtil
.
e
(
"[agora]$uid 用户声网加入频道成功:channel=$channel"
)
...
@@ -349,6 +350,7 @@ class AudioHomeActivity :
...
@@ -349,6 +350,7 @@ class AudioHomeActivity :
super
.
onUserJoined
(
uid
,
elapsed
)
super
.
onUserJoined
(
uid
,
elapsed
)
callEventSave
(
"20"
,
"${uid}加入频道回调"
)
callEventSave
(
"20"
,
"${uid}加入频道回调"
)
LogUtil
.
e
(
"[agora]远端用户/主播加入频道回调"
)
LogUtil
.
e
(
"[agora]远端用户/主播加入频道回调"
)
onPeerJoined
()
AliYunRichLogsHelper
.
getInstance
()
AliYunRichLogsHelper
.
getInstance
()
.
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"远端用户/主播加入频道回调"
)
.
sendRichLog
(
AliYunLogConfig
.
AGORA
,
"远端用户/主播加入频道回调"
)
}
}
...
@@ -795,6 +797,7 @@ class AudioHomeActivity :
...
@@ -795,6 +797,7 @@ class AudioHomeActivity :
fun
rtcCall
()
{
fun
rtcCall
()
{
YDLavManager
.
instances
.
rtcCall
(
listenerUid
,
channelId
,
sendDoctocrMsg
)
YDLavManager
.
instances
.
rtcCall
(
listenerUid
,
channelId
,
sendDoctocrMsg
)
onStartCall
()
}
}
/**
/**
...
@@ -1411,4 +1414,24 @@ class AudioHomeActivity :
...
@@ -1411,4 +1414,24 @@ class AudioHomeActivity :
)
{
)
{
YDLavManager
.
instances
.
callEventSave
(
status
,
res
,
session
,
line
)
YDLavManager
.
instances
.
callEventSave
(
status
,
res
,
session
,
line
)
}
}
private
fun
onStartCall
()
{
val
dimension
=
hashMapOf
(
"conversation"
to
"start_call"
,
"call"
to
"call_start"
)
onConfideEvent
(
dimension
,
channelId
)
}
private
fun
onMeJoined
()
{
val
dimension
=
hashMapOf
(
"conversation"
to
"me_joined"
)
onConfideEvent
(
dimension
,
channelId
)
}
fun
onPeerAccepted
()
{
val
dimension
=
hashMapOf
(
"conversation"
to
"peer_accepted"
,
"call"
to
"call_accepted"
)
onConfideEvent
(
dimension
,
channelId
)
}
private
fun
onPeerJoined
()
{
val
dimension
=
hashMapOf
(
"conversation"
to
"peer_joined"
)
onConfideEvent
(
dimension
,
channelId
)
}
}
}
m-audioim/src/main/java/com/ydl/audioim/YDLavManager.kt
View file @
c45f65eb
...
@@ -6,6 +6,7 @@ import android.os.Handler
...
@@ -6,6 +6,7 @@ import android.os.Handler
import
android.text.TextUtils
import
android.text.TextUtils
import
android.util.Log
import
android.util.Log
import
com.alibaba.android.arouter.launcher.ARouter
import
com.alibaba.android.arouter.launcher.ARouter
import
com.bytedance.apm.insight.ApmInsightAgent
import
com.google.gson.Gson
import
com.google.gson.Gson
import
com.ydl.audioim.bean.AgoraInvitationBean
import
com.ydl.audioim.bean.AgoraInvitationBean
import
com.ydl.audioim.http.AudioApiRequestUtil
import
com.ydl.audioim.http.AudioApiRequestUtil
...
@@ -13,6 +14,7 @@ import com.ydl.audioim.http.command.ConnectExceptionCommand
...
@@ -13,6 +14,7 @@ import com.ydl.audioim.http.command.ConnectExceptionCommand
import
com.ydl.audioim.router.AudioImIn
import
com.ydl.audioim.router.AudioImIn
import
com.ydl.audioim.utils.AudioLogUtils
import
com.ydl.audioim.utils.AudioLogUtils
import
com.ydl.audioim.utils.AudioLogUtils.Companion.writeAgoraLog
import
com.ydl.audioim.utils.AudioLogUtils.Companion.writeAgoraLog
import
com.ydl.audioim.utils.onConfideEvent
import
com.ydl.consultantim.ConsultantAudioHomeActivity
import
com.ydl.consultantim.ConsultantAudioHomeActivity
import
com.ydl.ydl_av.messge_service.YDLRTMClient
import
com.ydl.ydl_av.messge_service.YDLRTMClient
import
com.ydl.ydl_av.messge_service.bean.RTMMesssage
import
com.ydl.ydl_av.messge_service.bean.RTMMesssage
...
@@ -41,6 +43,7 @@ import io.agora.rtm.RtmStatusCode.ConnectionChangeReason.CONNECTION_CHANGE_REASO
...
@@ -41,6 +43,7 @@ import io.agora.rtm.RtmStatusCode.ConnectionChangeReason.CONNECTION_CHANGE_REASO
import
io.reactivex.Observable
import
io.reactivex.Observable
import
io.reactivex.android.schedulers.AndroidSchedulers
import
io.reactivex.android.schedulers.AndroidSchedulers
import
io.reactivex.schedulers.Schedulers
import
io.reactivex.schedulers.Schedulers
import
org.json.JSONObject
import
java.util.*
import
java.util.*
import
java.util.concurrent.TimeUnit
import
java.util.concurrent.TimeUnit
...
@@ -101,6 +104,8 @@ class YDLavManager {
...
@@ -101,6 +104,8 @@ class YDLavManager {
"${response?.calleeId}已收到呼叫邀请,频道号${response?.ChannelId}"
"${response?.calleeId}已收到呼叫邀请,频道号${response?.ChannelId}"
)
)
val
dimension
=
hashMapOf
(
"call"
to
"call_received_by_peer"
)
onConfideEvent
(
dimension
,
response
?.
ChannelId
)
val
act
=
ActivityManager
.
getInstance
().
getTopTaskActivity
()
val
act
=
ActivityManager
.
getInstance
().
getTopTaskActivity
()
if
(
act
is
AudioHomeActivity
)
{
if
(
act
is
AudioHomeActivity
)
{
act
.
runOnUiThread
{
act
.
runOnUiThread
{
...
@@ -122,6 +127,7 @@ class YDLavManager {
...
@@ -122,6 +127,7 @@ class YDLavManager {
if
(
act
is
AudioHomeActivity
)
{
if
(
act
is
AudioHomeActivity
)
{
act
.
runOnUiThread
{
act
.
runOnUiThread
{
act
.
joinChannel
()
act
.
joinChannel
()
act
.
onPeerAccepted
()
}
}
}
}
}
}
...
@@ -133,6 +139,8 @@ class YDLavManager {
...
@@ -133,6 +139,8 @@ class YDLavManager {
AliYunLogConfig
.
AGORA
,
AliYunLogConfig
.
AGORA
,
"${response?.calleeId}已拒绝呼叫邀请"
"${response?.calleeId}已拒绝呼叫邀请"
)
)
val
dimension
=
hashMapOf
(
"call"
to
"call_refused"
)
onConfideEvent
(
dimension
,
response
?.
ChannelId
)
val
act
=
ActivityManager
.
getInstance
().
getTopTaskActivity
()
val
act
=
ActivityManager
.
getInstance
().
getTopTaskActivity
()
if
(
act
is
AudioHomeActivity
)
{
if
(
act
is
AudioHomeActivity
)
{
act
.
runOnUiThread
{
act
.
runOnUiThread
{
...
@@ -154,6 +162,8 @@ class YDLavManager {
...
@@ -154,6 +162,8 @@ class YDLavManager {
AliYunLogConfig
.
AGORA
,
AliYunLogConfig
.
AGORA
,
"主叫已取消呼叫邀请"
"主叫已取消呼叫邀请"
)
)
val
dimension
=
hashMapOf
(
"call"
to
"call_canceled"
)
onConfideEvent
(
dimension
,
response
?.
ChannelId
)
val
act
=
ActivityManager
.
getInstance
().
getTopTaskActivity
()
val
act
=
ActivityManager
.
getInstance
().
getTopTaskActivity
()
if
(
act
is
AudioHomeActivity
)
{
if
(
act
is
AudioHomeActivity
)
{
act
.
runOnUiThread
{
act
.
runOnUiThread
{
...
@@ -170,6 +180,11 @@ class YDLavManager {
...
@@ -170,6 +180,11 @@ class YDLavManager {
AliYunLogConfig
.
AGORA
,
AliYunLogConfig
.
AGORA
,
"呼叫${response?.calleeId}用户失败:${response?.response}"
"呼叫${response?.calleeId}用户失败:${response?.response}"
)
)
val
dimension
=
hashMapOf
(
"call"
to
"call_fail"
,
"call_fail"
to
"code${errorCode}"
)
onConfideEvent
(
dimension
,
response
?.
ChannelId
)
val
act
=
ActivityManager
.
getInstance
().
getTopTaskActivity
()
val
act
=
ActivityManager
.
getInstance
().
getTopTaskActivity
()
//专家离线或者30 秒后仍未收到专家响应,重新再邀请一次
//专家离线或者30 秒后仍未收到专家响应,重新再邀请一次
when
(
errorCode
)
{
when
(
errorCode
)
{
...
...
m-audioim/src/main/java/com/ydl/audioim/utils/ApmEvent.kt
0 → 100644
View file @
c45f65eb
package
com.ydl.audioim.utils
import
com.apm.insight.log.VLog
import
com.bytedance.apm.insight.ApmInsightAgent
import
com.ydl.ydlcommon.modular.ModularServiceManager
import
org.json.JSONObject
internal
fun
onConfideEvent
(
dimension
:
HashMap
<
String
,
String
>,
channel
:
String
?)
{
try
{
val
uid
=
ModularServiceManager
.
getPlatformUserService
()
?.
getUser
()
?.
userId
val
ext
=
JSONObject
(
mapOf
(
"uid"
to
uid
,
"channelId"
to
(
channel
?:
"unknown"
)))
ApmInsightAgent
.
monitorEvent
(
"confide"
,
dimension
,
hashMapOf
(),
ext
)
}
catch
(
throwable
:
Throwable
)
{
VLog
.
e
(
"onConfideEvent"
,
throwable
.
message
)
}
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment