近日, AppDynamics 发布了Mobile Real User Management(RUM),这是一个端到端的移动应用监控解决方案。AppDynamics 提供的应用性能监控(APM)不仅使用户可以分析他们的应用,还可以完成端到端的事务。因此,可以使用AppDynamics 监控数据库系统、应用容器、Web 应用和移动应用。
Maneesh Joshi 是 AppDynamics 的高级主管及产品营销策略负责人。InfoQ 与他取得了联系,谈了 AppDynamics 以及最近发布的服务:
我们工作在一个快速增长的行业——着眼于移动领域时尤其如此。我们的发布周期不能太长,我们差不多需要立即响应用户的需求。这就是 AppDynamics 擅长的:它从根本上回答了三个对开发人员和业务人员而言都很重要的问题:我的应用性能如何?我的用户有什么样的行为?我的用户是谁?根据这些问题的答案,他们可以对应用进行改进并滚动发布。
“我的应用性能如何?”
据 Maneesh 介绍,“在移动领域,性能问题通常是源于后端或者糟糕或不可靠的网络性能。”AppDynamics 提供端到端的监控,可以识别出执行太慢的事务。而且,在一项 SaaS 服务中,开发人员可以在长达一年的时间内免费收集数据用于故障分析。要对移动应用进行故障分析,开发人员必须下载安装 AppDynamics SDK——有 iOS 和 Android 版本。然后,一个后台进程就开始收集有关故障、网络状态或调用次数的信息。收集的数据不会立即发送,而是选择电量和网络带宽都充足的时候以一种资源友好的方式发送。
“我的用户有什么样的行为?”
Maneesh 接着说道,“移动开发周期有所不同,它敏捷,更多地依赖客户使用应用的方式。”虽然有许多用于 A/B 测试的产品可以逐步积累有关用户行为的知识,但 AppDynamics 侧重于分析用户在一个特定界面上花了多少时间或者点击了什么 UI 元素。开发人员可以使用这种机制收集“ Info Points ”和“ Time APIs ”这样的数据。借助 Info Points,开发人员可以监控应用中的特定方法,获取方法的调用频率及其提供返回值所用的时间。
private void downloadImage(URL url) { CallTracker tracker = null; try { tracker = Instrumentation.beginCall("com.example.android. awesomeapp.ImageDownloader", "downloadImage", url); // 下载图片. } finally { Instrumentation.endCall(tracker); } }
Timer API 使开发人员可以度量应用执行的任意时间区段。Timer 可以跨越不同的方法调用和方法级别,也可以嵌套:
public class MyActivity extends Activity { @Override protected void onStart(){ Instrumentation.startTimer("Time Spent on MyActivity"); // 请在此处输入代码。 } @Override protected void onStop(){ Instrumentation.stopTimer("Time Spent on MyActivity"); // 请在此处输入代码。 } }
“我的用户是谁?”
在这种情况下,AppDynamics 能够提供的另一部分信息是有关用户及其设备的更深层次的知识。它允许开发人员根据平台、设备类型或者位置数据来分析数据。
Maneesh 说:
现在,开发人员可以根据这些数据规划他们的路线图了。他们可以分析什么设备在什么情况下会很慢,并据此确定 Bug 修复和功能开发的优先级。客户操作情况很容易可视化,因此,功能可以根据业务数据进行规划,以最大化转化率。业务人员和技术人员现在可以查看同样的数据来改进他们的产品。
AppDynamics 推出了一项免费的“Light”计划,其中包含了“Pro”版本的所有服务。差别在于数据分析的时间范围和监控应用程序堆栈组件的代理数量。在免费计划中,每个应用组件(Java、Node.js 或PHP)只包含一个代理。
查看英文原文:**** AppDynamics Introduces Mobile Real User Management
评论