检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
析环境后的。 单击“Profiler性能分析”,切换至Profiler性能分析页签。 单击“性能分析”,进入性能分析页面。 选择类型:Memory,范围:All Code,聚合维度:Method,发现有两个方法占用了较多内存。 单击“方法路径”列,对应的方法名找到该方法的调用栈,向上找到调用此方法的业务代码。
请注册华为云账号并完成实名认证。 开通APM 2.0。 登录华为云APM管理控制台。 首次登录APM控制台,您可以选择使用应用性能管理的“免费版”或“企业版”。“免费版”与“企业版”的差异参见产品规格差异。 单击左侧,选择“管理与监管 > 应用性能管理 APM”进入APM服务页面。 图1 体验APM
代码分析 修复代码,将list的遍历算法从普通的下标for循环改为增强的for循环。 图6 修复代码 优化后,重复步骤4-步骤5,发现CPU使用率<1%。 图7 优化后CPU(%) 如何查询并解决内存升高问题 前提条件:开启测试程序,同时设定heap的大小为2g(-Xms2g -Xmx2g)。
如果显示数据采集被停止,可能的原因有: 实例级别停止,APM探针管理中采集被停止。 监控项级别停止,监控项状态列表某些监控项采集被人为停止。 APM控制台的“全局配置(系统管理 > 通用配置)”中字节码方式采集被停止。 如果长时间未采集到指标数据,可能的原因有: java9启动提示找不到sql
使用方法 配置url监控项的业务code采集长度限制、解析业务code的key、业务code的正确值参数。具体方法参见配置url监控项。 图6 url监控项 在左侧导航栏选择“应用监控 > 调用链”,进入调用链界面。 单击,查看对应的业务code的值。业务code的值即“应用码”。 图7
在“事件列表”页面中查看事件。 设置时间范围,查看已设时间范围内产生的事件。可通过如下两种方式设置时间范围: 方式一:使用APM预定义好的时间标签,例如,近1小时、近6小时、近一天等,您可根据实际需要选择不同的时间粒度。 方式二:通过开始时间和结束时间,自定义时间范围,您最长可设置为30天。
获取账号ID 在调用接口的时候,部分URL中需要填入账号ID(domain-id),所以需要先在管理控制台上获取到账号ID。账号ID获取步骤如下: 注册并登录管理控制台。 单击用户名,在下拉列表中单击“我的凭证”。 在“API凭证”页面中查看账号ID。 图1 获取账号ID 父主题:
总崩溃次数 App的总崩溃次数。 卡顿数 鼠标放置在卡顿数的某个时间节点上,展示某个时间点的总卡顿次数。 图6 卡顿数 表6 总览-启动响应时间相关参数说明 参数名称 说明 总卡顿次数 App的总卡顿次数。 错误数 鼠标放置在错误数的某个时间节点上,展示某个时间点的总错误次数。 图7
获取账号ID 在调用接口的时候,部分URL中需要填入账号ID(domain-id),所以需要先在管理控制台上获取到账号ID。账号ID获取步骤如下: 注册并登录管理控制台。 单击用户名,在下拉列表中单击“我的凭证”。 在“API凭证”页面中查看账号ID。 图1 获取账号ID 父主题:
基础镜像中为JDK安装调试符(部分JDK版本缺乏对应的调试符包,会导致无法安装)或使用非Alpine基础镜像。 如果是CentOS物理机环境部署应用可通过以下步骤安装调试符: 执行以下命令,确认是否已经配置了debuginfo的源。 yum repolist all | grep
APM服务中调用链相关的参数说明 apm-traceid: apm服务采集到调用链的唯一标识。 图1 采集调用链的唯一标识 apm-gtraceid: apm服务中未被采样到的调用关系的唯一标识。 apm服务的调用链具有一定采样率,所以用apm-gtrace-id来表示未被采样的调用链的唯一标识。
Integer ak/sk的id。 gmt_create String ak/sk的生成时间。 gmt_modify String ak/sk的修改时间。 inner_domain_id Integer 内部租户id。 ak String 生成的ak。 sk String 生成的sk。 status
示例1:查询应用列表 场景描述 本章为查询对应用户下的应用。 涉及其它云服务接口 无。 查询应用列表 接口相关信息 URI格式:GET /v1/apm2/openapi/cmdb/business/get-business-list 请求示例 GET https://{APM_e
是否按照采集状态排序,默认不填则不按状态排序,填y则按照状态排序。 page 是 Integer 需要查询的页码,最小数为1。 page_size 是 Integer 查询结果每页最多显示的条数。 keyword 否 String 关键字。 响应参数 状态码: 200 表3 响应Body参数
name string 服务名称:实例名称:事务名称 id string Span的ID parentId string 当前Span的上级Span ID信息 timestamp long 调用的起始时间(单位μs) duration long Span调用耗时(单位μs) annotations
查询服务实例列表 功能介绍 查询指定服务下的实例列表。 URI GET /v1/{project_id}/ats/applications/{application}/instances 请求消息 表1 请求消息头 参数 描述 是否为必选 示例 clusterId 集群ID 否 default
查询服务事务列表 功能介绍 查询指定服务下的事务列表。 URI GET /v1/{project_id}/ats/applications/{application}/transactions 请求消息 表1 请求消息头 参数 描述 是否为必选 示例 clusterId 集群ID
关后,APM仅采集应用性能指标及调用链相关数据,不涉及个人隐私数据,详细内容请参见数据采集。 APM可以通过非侵入方式采集APM 探针提供的应用数据、基础资源数据、用户体验数据等多项指标。 指标数据周期性完整采集,默认采集周期为1分钟。
访问密钥”,进入访问密钥页面,获取JavaAgent的APM_AK和APM_SK。详细操作参见访问密钥。 用从访问密钥页面中获取的AK/SK替换复制的JavaAgent命令的APM_AK和APM_SK。 执行git bash命令。在本地电脑D盘agent目录下,将复制的安装JavaAgent命令执行。