全部 文章 问答 分享 共找到40个相关内容

[文章] 搭建简单的监控系统(Grafana)
Prometheus和Grafana搭建简单的监控系统你需要准备的三台配置好的虚拟机(VMware)Prometheus安装包和exproter组件Grafana安装包和监控的JSON文件shell工具
2021-02-18 21:10
·
Prometheus

[文章] grafana监控windows机器
监控Windows机器页面展示:这就是我电脑的数据啦如果不知道如何搭建grafana监控系统,可以看一下我的另一篇文章搭建简单的监控系统(Grafana)https://www.sunofbeach.net
2021-02-20 18:44
·
Prometheus

[文章] java微服务开发(监控篇)
redis有redis的监控MySQL有MySQL的监控ecs也有ecs的监控但是也有公司是自己买服务器然后找个托管商毕竟数据在自己手里才是最好的所以为了避免老板叫你搞一个监控系统啥的你来句不会这就很尴尬废话不多说直接开始本篇的前提是

[文章] grafan监控忘记登录密码
但是,遇到很重要的tidb监控看板,如果删除了数据,很多东西都没有了,那么有没有一种好的方法呢?

[文章] javaweb-监听器
可以在某些动作前后增加处理,实现监控。
2021-01-30 13:14
·
监听器
[问答] camera 录屏添加时间水印
就类似于监控那种,谢谢!
2022-05-25 09:00
·
Android

[文章] spring cloud 快速开始 之 sentinel篇
,比如获取所有歌曲,/song/getAll(这是我微服务的其中一个接口,得根据实际的接口来),一段时间没有流量了,实时监控的数据也就会清空,但是簇点链路会存在的2、Sentinel的异常处理BlockException
[问答] springboot hikari 最大线程数的疑问
PS:有没有比较简单好用的线程管理监控方案
[问答] 关于监控android的内存dump
求大佬支援
关于android防止内存的dump,被折磨惨了/(ㄒoㄒ)/~~
好不容易找来找去,找到个解决方法,但是用不来。。。
贴链接:https://juejin.cn/post/6993145796858232869#heading-1
因为是c/c++的,又去学习了下jni,调用c/c++,尝试下来,都是问题 :)
不知道有没有小伙伴接触过这些,像问问怎么才能正常的运行起来,代码都是照着链接里的
然后想知道,图四里的这个怎么处理,怎么让它被引用起来
最后,吐槽一句,这些偏冷门的问题是真的难找答案,找到一个,所有的都是这一个
[问答] 用java写了一个Socket.IO的服务端,可是用安卓一直连接不上怎么办;
onLogin);mSocket.on("borcast",onNewMessage);mSocket.connect();//mSocket.emit("adduser",mUsername);}//信息接收监控

[文章] TiDB数据库v5.2.2离线安装
主页面显示TiDB集群中节点信息2.查看Grafana监控在浏览器中输入:http://{IP地址}:3000/login通过{Grafana-ip}:3000登录Grafana监控,默认用户名及密码为

[文章] Android内存性能优化
可以通过Androidstudio自带的内存监测工具进行观察,如:多自定义loading的加载内存抖动的监测:造成的原因:分析代码打开我们的androidstudio监控器,然后点击一下Record就会录制一段时间内存产生的对象

[文章] SpringBoot常用配置项
下建议关闭个人建议如果想用SQL防火墙建议打开pool-prepared-statements:falsemax-pool-prepared-statement-per-connection-size:20#监控页面

[文章] 使用nginx代理grafana的url
由于较多的监控面板需要查看,为了便于巡检,需要使用nginx把grafan和prometheus的url代理出来。

[文章] Sql调优技巧(结合案例)
定期检查并维护索引,删除不再被使用的索引,监控重复和冗余索引。注意索引的选择性,即唯一值越多的列越适合做索引。避免全表扫描:避免在没有适当索引的情况下执行全表扫描,尤其是在大表上。

[文章] 记生产服务器CPU飙升的事故!!!
如下图所示:看着这图CPU资源也不是特别高啊,但是结合整体的资源监控来看,不仅仅是CPU飙升,还有内网带宽、公网带宽、磁盘读写、内存基本上是同时飙高,然后我就有点慌,是不是中了什么病毒。

[文章] Android 界面参数追踪工具类:通过生命周期回调监控传参
缘起在界面跳转过程中,我们常常需要传递一些参数,例如埋点参数等可能需要一直向下传递的信息。然而,当界面跳转层级较深时,很容易出现中途忘记传递参数的情况。此时,如何高效排查参数传递问题就成为了一个关键需求。基于此,我想到可以开发一个工具类,实现界面跳转时参数的自动打印,以便于快速定位和解决参数传递过程中出现的问题。缘灭那么,如何具体实现这个工具类呢?熟悉Android开发的同学都知道,系统提供了Application.ActivityLifecycleCallbacks类,我们可以通过context.registerActivityLifecycleCallbacks()方法进行注册。借助该类的回调机制,能够监听到Activity的各个生命周期。我们的目标是在onActivityCreated回调中打印出上一个界面传递过来的参数,因为在这个回调中可以获取到Activity创建时的相关参数信息。以下是ActivityLifecycleCallbacks接口的定义publicinterfaceActivityLifecycleCallbacks{/***CalledasthefirststepoftheActivitybeingcreated.Thisisalwayscalledbefore*{@linkActivity#onCreate}.*/defaultvoidonActivityPreCreated(@NonNullActivityactivity,@NullableBundlesavedInstanceState){}/***CalledwhentheActivitycalls{@linkActivity#onCreatesuper.onCreate()}.*/voidonActivityCreated(@NonNullActivityactivity,@NullableBundlesavedInstanceState);/***CalledasthelaststepoftheActivitybeingcreated.Thisisalwayscalledafter*{@linkActivity#onCreate}.*/defaultvoidonActivityPostCreated(@NonNullActivityactivity,@NullableBundlesavedInstanceState){}/***CalledasthefirststepoftheActivitybeingstarted.Thisisalwayscalledbefore*{@linkActivity#onStart}.*/defaultvoidonActivityPreStarted(@NonNullActivityactivity){}/***CalledwhentheActivitycalls{@linkActivity#onStartsuper.onStart()}.*/voidonActivityStarted(@NonNullActivityactivity);/***CalledasthelaststepoftheActivitybeingstarted.Thisisalwayscalledafter*{@linkActivity#onStart}.*/defaultvoidonActivityPostStarted(@NonNullActivityactivity){}/***CalledasthefirststepoftheActivitybeingresumed.Thisisalwayscalledbefore*{@linkActivity#onResume}.*/defaultvoidonActivityPreResumed(@NonNullActivityactivity){}/***CalledwhentheActivitycalls{@linkActivity#onResumesuper.onResume()}.*/voidonActivityResumed(@NonNullActivityactivity);/***CalledasthelaststepoftheActivitybeingresumed.Thisisalwayscalledafter*{@linkActivity#onResume}and{@linkActivity#onPostResume}.*/defaultvoidonActivityPostResumed(@NonNullActivityactivity){}/***CalledasthefirststepoftheActivitybeingpaused.Thisisalwayscalledbefore*{@linkActivity#onPause}.*/defaultvoidonActivityPrePaused(@NonNullActivityactivity){}/***CalledwhentheActivitycalls{@linkActivity#onPausesuper.onPause()}.*/voidonActivityPaused(@NonNullActivityactivity);/***CalledasthelaststepoftheActivitybeingpaused.Thisisalwayscalledafter*{@linkActivity#onPause}.*/defaultvoidonActivityPostPaused(@NonNullActivityactivity){}/***CalledasthefirststepoftheActivitybeingstopped.Thisisalwayscalledbefore*{@linkActivity#onStop}.*/defaultvoidonActivityPreStopped(@NonNullActivityactivity){}/***CalledwhentheActivitycalls{@linkActivity#onStopsuper.onStop()}.*/voidonActivityStopped(@NonNullActivityactivity);/***CalledasthelaststepoftheActivitybeingstopped.Thisisalwayscalledafter*{@linkActivity#onStop}.*/defaultvoidonActivityPostStopped(@NonNullActivityactivity){}/***CalledasthefirststepoftheActivitysavingitsinstancestate.Thisisalways*calledbefore{@linkActivity#onSaveInstanceState}.*/defaultvoidonActivityPreSaveInstanceState(@NonNullActivityactivity,@NonNullBundleoutState){}/***CalledwhentheActivitycalls*{@linkActivity#onSaveInstanceStatesuper.onSaveInstanceState()}.*/voidonActivitySaveInstanceState(@NonNullActivityactivity,@NonNullBundleoutState);/***CalledasthelaststepoftheActivitysavingitsinstancestate.Thisisalways*calledafter{@linkActivity#onSaveInstanceState}.*/defaultvoidonActivityPostSaveInstanceState(@NonNullActivityactivity,@NonNullBundleoutState){}/***CalledasthefirststepoftheActivitybeingdestroyed.Thisisalwayscalledbefore*{@linkActivity#onDestroy}.*/defaultvoidonActivityPreDestroyed(@NonNullActivityactivity){}/***CalledwhentheActivitycalls{@linkActivity#onDestroysuper.onDestroy()}.*/voidonActivityDestroyed(@NonNullActivityactivity);/***CalledasthelaststepoftheActivitybeingdestroyed.Thisisalwayscalledafter*{@linkActivity#onDestroy}.*/defaultvoidonActivityPostDestroyed(@NonNullActivityactivity){}/***CalledwhentheActivityconfigurationwaschanged.*@hide*/defaultvoidonActivityConfigurationChanged(@NonNullActivityactivity){}}通过上述接口,我们可以在合适的生命周期回调中获取Activity的Bundle参数。由于Bundle内部维护了一个mMap参数,因此可以通过遍历的方式获取所有的key,并根据key获取对应的value进行打印。importandroid.app.Activityimportandroid.app.Applicationimportandroid.content.Intentimportandroid.os.Bundleimportcom.blankj.utilcode.util.LogUtilsimportorg.json.JSONExceptionimportorg.json.JSONObjectclassActivityLifecycleLogger:Application.ActivityLifecycleCallbacks{overridefunonActivityCreated(activity:Activity,savedInstanceState:Bundle?){LogUtils.d("onActivityCreated:===>exe...",activity,convertToJson(activity.intent))}privatefunconvertToJson(intent:Intent):String{returnintent.extras?.let{convertToJson(it)}?:JSONObject().toString()}privatefunconvertToJson(bundle:Bundle):String{valjsonObject=JSONObject()for(keyinbundle.keySet()){try{jsonObject.put(key,bundle[key])}catch(e:JSONException){e.printStackTrace()}}returnjsonObject.toString()}overridefunonActivityStarted(activity:Activity){}overridefunonActivityResumed(activity:Activity){}overridefunonActivityPaused(activity:Activity){}overridefunonActivityStopped(activity:Activity){}overridefunonActivitySaveInstanceState(activity:Activity,outState:Bundle){}overridefunonActivityDestroyed(activity:Activity){}companionobject{@JvmStaticvalinstance:Application.ActivityLifecycleCallbacksbylazy{ActivityLifecycleLogger()}}}至此,我们已经实现了Activity跳转时参数的打印功能。但是,在实际开发中,Activity内部可能会包含Fragment,而Fragment又可能存在嵌套情况,我们同样需要了解Fragment的创建过程以及传递给Fragment的参数。这时,系统提供的FragmentLifecycleCallbacks抽象类就派上了用场,我们可以通过fragmentActivity.supportFragmentManager.registerFragmentLifecycleCallbacks()方法注册Fragment的生命周期回调。以下是FragmentLifecycleCallbacks抽象类的定义/***Callbackinterfaceforlisteningtofragmentstatechangesthathappen*withinagivenFragmentManager.*/@SuppressWarnings("unused")publicabstractstaticclassFragmentLifecycleCallbacks{/***Calledrightbeforethefragment's{@linkFragment#onAttach(Context)}methodiscalled.*Thisisagoodtimetoinjectanyrequireddependenciesorperformotherconfiguration*forthefragmentbeforeanyofthefragment'slifecyclemethodsareinvoked.**@paramfmHostFragmentManager*@paramfFragmentchangingstate*@paramcontextContextthattheFragmentisbeingattachedto*/publicvoidonFragmentPreAttached(@NonNullFragmentManagerfm,@NonNullFragmentf,@NonNullContextcontext){}/***Calledafterthefragmenthasbeenattachedtoitshost.Itshostwillhavehad*<code>onAttachFragment</code>calledbeforethiscallhappens.**@paramfmHostFragmentManager*@paramfFragmentchangingstate*@paramcontextContextthattheFragmentwasattachedto*/publicvoidonFragmentAttached(@NonNullFragmentManagerfm,@NonNullFragmentf,@NonNullContextcontext){}/***Calledrightbeforethefragment's{@linkFragment#onCreate(Bundle)}methodiscalled.*Thisisagoodtimetoinjectanyrequireddependenciesorperformotherconfiguration*forthefragment.**@paramfmHostFragmentManager*@paramfFragmentchangingstate*@paramsavedInstanceStateSavedinstancebundlefromapreviousinstance*/publicvoidonFragmentPreCreated(@NonNullFragmentManagerfm,@NonNullFragmentf,@NullableBundlesavedInstanceState){}/***CalledafterthefragmenthasreturnedfromtheFragmentManager'scallto*{@linkFragment#onCreate(Bundle)}.Thiswillonlyhappenonceforanygiven*fragmentinstance,thoughthefragmentmaybeattachedanddetachedmultipletimes.**@paramfmHostFragmentManager*@paramfFragmentchangingstate*@paramsavedInstanceStateSavedinstancebundlefromapreviousinstance*/publicvoidonFragmentCreated(@NonNullFragmentManagerfm,@NonNullFragmentf,@NullableBundlesavedInstanceState){}/***CalledafterthefragmenthasreturnedfromtheFragmentManager'scallto*{@linkFragment#onActivityCreated(Bundle)}.Thiswillonlyhappenonceforanygiven*fragmentinstance,thoughthefragmentmaybeattachedanddetachedmultipletimes.**@paramfmHostFragmentManager*@paramfFragmentchangingstate*@paramsavedInstanceStateSavedinstancebundlefromapreviousinstance**@deprecatedTogetacallbackspecificallywhenaFragmentactivity's*{@linkandroid.app.Activity#onCreate(Bundle)}iscalled,registera*{@linkandroidx.lifecycle.LifecycleObserver}ontheActivity's{@linkLifecycle}in*{@link#onFragmentAttached(FragmentManager,Fragment,Context)},removingitwhenit*receivesthe{@linkLifecycle.State#CREATED}callback.*/@DeprecatedpublicvoidonFragmentActivityCreated(@NonNullFragmentManagerfm,@NonNullFragmentf,@NullableBundlesavedInstanceState){}/***Calledafterthefragmenthasreturnedanon-nullviewfromtheFragmentManager's*requestto{@linkFragment#onCreateView(LayoutInflater,ViewGroup,Bundle)}.**@paramfmHostFragmentManager*@paramfFragmentthatcreatedandownstheview*@paramvViewreturnedbythefragment*@paramsavedInstanceStateSavedinstancebundlefromapreviousinstance*/publicvoidonFragmentViewCreated(@NonNullFragmentManagerfm,@NonNullFragmentf,@NonNullViewv,@NullableBundlesavedInstanceState){}/***CalledafterthefragmenthasreturnedfromtheFragmentManager'scallto*{@linkFragment#onStart()}.**@paramfmHostFragmentManager*@paramfFragmentchangingstate*/publicvoidonFragmentStarted(@NonNullFragmentManagerfm,@NonNullFragmentf){}/***CalledafterthefragmenthasreturnedfromtheFragmentManager'scallto*{@linkFragment#onResume()}.**@paramfmHostFragmentManager*@paramfFragmentchangingstate*/publicvoidonFragmentResumed(@NonNullFragmentManagerfm,@NonNullFragmentf){}/***CalledafterthefragmenthasreturnedfromtheFragmentManager'scallto*{@linkFragment#onPause()}.**@paramfmHostFragmentManager*@paramfFragmentchangingstate*/publicvoidonFragmentPaused(@NonNullFragmentManagerfm,@NonNullFragmentf){}/***CalledafterthefragmenthasreturnedfromtheFragmentManager'scallto*{@linkFragment#onStop()}.**@paramfmHostFragmentManager*@paramfFragmentchangingstate*/publicvoidonFragmentStopped(@NonNullFragmentManagerfm,@NonNullFragmentf){}/***CalledafterthefragmenthasreturnedfromtheFragmentManager'scallto*{@linkFragment#onSaveInstanceState(Bundle)}.**@paramfmHostFragmentManager*@paramfFragmentchangingstate*@paramoutStateSavedstatebundleforthefragment*/publicvoidonFragmentSaveInstanceState(@NonNullFragmentManagerfm,@NonNullFragmentf,@NonNullBundleoutState){}/***CalledafterthefragmenthasreturnedfromtheFragmentManager'scallto*{@linkFragment#onDestroyView()}.**@paramfmHostFragmentManager*@paramfFragmentchangingstate*/publicvoidonFragmentViewDestroyed(@NonNullFragmentManagerfm,@NonNullFragmentf){}/***CalledafterthefragmenthasreturnedfromtheFragmentManager'scallto*{@linkFragment#onDestroy()}.**@paramfmHostFragmentManager*@paramfFragmentchangingstate*/publicvoidonFragmentDestroyed(@NonNullFragmentManagerfm,@NonNullFragmentf){}/***CalledafterthefragmenthasreturnedfromtheFragmentManager'scallto*{@linkFragment#onDetach()}.**@paramfmHostFragmentManager*@paramfFragmentchangingstate*/publicvoidonFragmentDetached(@NonNullFragmentManagerfm,@NonNullFragmentf){}}参照Activity参数打印的实现方式,我们可以编写如下代码来处理Fragment的参数打印。activity.supportFragmentManager.registerFragmentLifecycleCallbacks(object:FragmentManager.FragmentLifecycleCallbacks(){overridefunonFragmentCreated(fm:FragmentManager,f:Fragment,savedInstanceState:Bundle?){LogUtils.d("onFragmentCreated:===>exe...",f,savedInstanceState?.let{convertToJson(it)})}overridefunonFragmentResumed(fm:FragmentManager,f:Fragment){LogUtils.d("onFragmentResumed:===>exe...",f)}},true)完整代码importandroid.app.Activityimportandroid.app.Applicationimportandroid.content.Intentimportandroid.os.Bundleimportandroidx.fragment.app.Fragmentimportandroidx.fragment.app.FragmentActivityimportandroidx.fragment.app.FragmentManagerimportcom.blankj.utilcode.util.LogUtilsimportorg.json.JSONExceptionimportorg.json.JSONObjectclassActivityLifecycleLogger:Application.ActivityLifecycleCallbacks{overridefunonActivityCreated(activity:Activity,savedInstanceState:Bundle?){LogUtils.d("onActivityCreated:===>exe...",activity,convertToJson(activity.intent))if(activityisFragmentActivity){activity.supportFragmentManager.registerFragmentLifecycleCallbacks(object:FragmentManager.FragmentLifecycleCallbacks(){overridefunonFragmentCreated(fm:FragmentManager,f:Fragment,savedInstanceState:Bundle?){LogUtils.d("onFragmentCreated:===>exe...",f,savedInstanceState?.let{convertToJson(it)})}overridefunonFragmentResumed(fm:FragmentManager,f:Fragment){LogUtils.d("onFragmentResumed:===>exe...",f)}},true)}}privatefunconvertToJson(intent:Intent):String{returnintent.extras?.let{convertToJson(it)}?:JSONObject().toString()}privatefunconvertToJson(bundle:Bundle):String{valjsonObject=JSONObject()for(keyinbundle.keySet()){try{jsonObject.put(key,bundle[key])}catch(e:JSONException){e.printStackTrace()}}returnjsonObject.toString()}overridefunonActivityStarted(activity:Activity){}overridefunonActivityResumed(activity:Activity){}overridefunonActivityPaused(activity:Activity){}overridefunonActivityStopped(activity:Activity){}overridefunonActivitySaveInstanceState(activity:Activity,outState:Bundle){}overridefunonActivityDestroyed(activity:Activity){}companionobject{@JvmStaticvalinstance:Application.ActivityLifecycleCallbacksbylazy{ActivityLifecycleLogger()}}}食用方式application.registerActivityLifecycleCallbacks(ActivityLifecycleLogger.getInstance())结语好啦,就写到这里吧,如果你想看更多的项目代码,请查看我在Github上的阳光沙滩APP项目,你也可以在这里点击下载我写的阳光沙滩APP客户端进行体验。如果对你有帮助的话,欢迎一键三连+关注哦~

[文章] spring cloud 快速开始 之 openfeign篇
productList);//需要远程调用获取价格order.setTotalAmount(number*productFromRemote.getPrice());returnorder;}5、日志监控在

[文章] spring cloud 快速开始 之 openfeign篇
productList);//需要远程调用获取价格order.setTotalAmount(number*productFromRemote.getPrice());returnorder;}5、日志监控在

[文章] spring cloud 快速开始 之 gateway篇
Gateway篇网关的功能作用同一入口负载均衡流量控制身份认证协议转换系统监控安全防护请求路由访问流程1、创建网关由于网关不属于业务,属于架构,因此新建一个模块,然后添加依赖<dependency

[文章] 浅谈离职和当前工作
接触的新技术也多了,kafka、Zookeeper、elasticsearch、PostgreSQL等;当然重点还是运维监控这一块。疫情期间,我休息了3个月,目前身体状态也好了很多,也很少熬夜了。

[文章] 分享博客管理系统Vue模板(后端使用MP操作数据库,使用自带的分页)
"",},editorCommitText:"修改分类",editTitle:"编辑分类",};},//计算属性computed:{},//监控
2021-03-09 10:40
·
vue
- 1
- 2