商城小程序项目实现监控的可观测性最佳实践

前言

微信小程序是一种轻量级的应用程序,用户可以在微信内直接使用,无需下载安装。它具有独立的开发框架和生态系统,支持丰富的功能和交互,包括社交、购物、服务等。

观测云对微信小程序的监控能够实时收集性能指标、错误日志和资源请求数据,利用可视化分析提升小程序的用户体验,优化性能,快速定位问题,提高开发效率。

今天以一个商城项目为例子,github地址:GitHub - lin-xin/wxapp-mall: 微信小程序 商城demo ,以下以该项目为例来接入如何实现微信小程序商城项目的可观测性。

环境信息

  • Node 版本 > 8

接入方案

准备工作

  • 注册观测云账号( Guance )
  • 注册微信小程序账号( 微信小程序 )、安装了微信开发者工具( 微信开放平台 )、下载了商城项目( GitHub - lin-xin/wxapp-mall: 微信小程序 商城demo )
  • 需配置域名白名单,域名配置文档( 网络 | 微信开放文档 )
第一步:在观测云创建应用

这里面的就是配置代码,后面会用到。

第二步:下载商城项目
git clone https://github.com/lin-xin/wxapp-mall.git

项目结构如下:

接入观测云 SDK

接入观测云 SDK 有多种方式:npm、cdn 和 uniapp ,选择其中一种即可,本文推荐使用 cdn 的方式引入。

npm 方式接入

在项目根目录执行以下脚本安装 sdk 。

npm install @cloudcare/rum-miniapp

安装脚本后,找到入口文件,并粘贴如下代码,注意修改。

//引入观测云rum的sdk
const { datafluxRum } = require('@cloudcare/rum-miniapp')
cdn 方式接入

在当前目录下找到app并把观测云接入代码拷贝到标签内,如下图所示。

配置启动参数

通过配置的参数能设置应用名称、版本、环境、采样率等。

cdn 方式接入

cdn 方式接入有同步或异步,如果选择同步方式,可以按照如下接入。

npm 方式接入

// 初始化 Rum
datafluxRum.init({site: 'https://rum-openway.guance.com',clientToken: '**',applicationId: 'wechat_shopcenter', // 必填,dataflux 平台生成的应用IDenv: 'testing', // 选填,小程序的环境version: '1.0.0', // 选填,小程序版本service: 'miniapp', //当前应用的服务名称trackInteractions: true,traceType: 'ddtrace', // 非必填,默认为ddtrace,目前支持 ddtrace、zipkin、skywalking_v3、jaeger、zipkin_single_header、w3c_traceparent 6种类型,sampleRate: 100, //指标数据收集的百分比,100 表示全收集,0 表示不收集allowedTracingOrigins: ['https://api.example.com',/https:\/\/.*\.my-api-domain\.com/],  // 非必填,允许注入trace采集器所需header头部的所有请求列表。可以是请求的origin,也可以是是正则
})

启动项目

打开微信开发者项目,编译,项目运行情况如下:

检查是否有数据上报,如果在 network 看到有 rum 的数据,则说明上报成功。

特别注意

如果出现上报失败的情况,需要配置域名白名单,见下图,更详细内容可以参见:域名配置文档( 网络 | 微信开放文档 )。

实践效果

  • 用户会话、轨迹

  • 页面性能、设备、错误等信息

  • 概览信息

  • 性能分析

  • 错误分析

总结

观测云对微信小程序的监控能够实时收集性能指标、错误日志和资源请求数据,利用可视化分析提升小程序的用户体验,优化性能,快速定位问题,提高开发效率。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/772513.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

分布式系统CAP理论

1、什么是CAP理论 C是Consistency(强一致性)、A是Availability(可用性)、P是Partition Tolerance(分区容错性),一个分布式系统不可能同时很好的满足—致性、可用性和分区容错性这三个需求,不能同时成立,最多只能同时满足其中的两项&#xff…

Linux系统运维命令:找出某个分区或者路径下 占用磁盘空间最多的文件和目录

目录 一、需求 二、解决方法 1、解决思路 2、组合命令 3、du命令 三、实例演示和命令解释 1、实例演示 (1)查看当前路径下文件和目录 (2)命令效果展示 2、命令解释 (1). du -cks (2…

小白学视觉 | 图像上的 OpenCV 算术运算

本文来源公众号“小白学视觉”,仅用于学术分享,侵权删,干货满满。 原文链接:图像上的 OpenCV 算术运算 1 OpenCV 简介 图像可以进行算术运算,例如加法、减法和按位运算(AND、OR、NOT、XOR)。…

电商系列之仓储发货

疫情3年,大多数人都将购买需求转移到了线上。同时由于暴涨的订单数量、还在恢复中的物流运输等因素,导致用户的收货时间缓慢甚至是发货时间、收货时间延后。那么笔者就从订单的仓库作业流程入手,分析了用户订单发货延后的原因。 受到最近疫情…

简历工具推荐

HR浏览一份简历也就25秒左右,如果你连「好简历」都没有,怎么能找到好工作呢? 以最简单的方式来写好简历,只需专注内容本身而无需关注排版。这样的效果才是我们想要的,这里推荐使用入职啦简历,这个工具最大的…

RuoYi-Vue-Plus(sa-token)

一、介绍 官网: Sa-Tokenhttps://sa-token.cc/index.html 特性: 登录与权限认证:支持用户登录和细粒度权限认证。会话管理:提供会话创建、维护和销毁功能。单点登录:支持单点登录,简化多应用登录流程。OAu…

聚类分析|基于层次的聚类方法及其Python实现

聚类分析|基于层次的聚类方法及其Python实现 0. 基于层次的聚类方法1. 簇间距离度量方法1.1 最小距离1.2 最大距离1.3 平均距离1.4 中心法1.5 离差平方和 2. 基于层次的聚类算法2.1 凝聚(Agglomerative)2.3 分裂(Divisive) 3. 基于…

GAMES Webinar 288-VR/AR专题-陆峰-混合现实中的多模态自然人机交互

感知交互增强智能 研究室虚拟现实技术与系统国家重点实验室,北京航空航天大学计算医学研究所,大数据精准医疗北京市高精尖创新中心 Perception & Hybrid Interaction (PHI) for Augmented & Affective Intelligence (A2I) We are working on v…

力扣56. 合并区间

Problem: 56. 合并区间 文章目录 题目描述思路及解法复杂度Code 题目描述 思路及解法 1.将数组按内部的一维数组的第一项按从小到大的顺序排序; 2.创建二维结果数组merged,并将排序后的数组中的第一个一维度数组存入到merged中; 3.从后面的一…

九泰智库 | 医械周刊- Vol.17

⚖️ 法规动态 器审中心公示新一期医疗器械优先审批申请审核结果 3月22日,依据原国家食品药品监督管理总局《医疗器械优先审批程序》(总局公告2016年168号),器审中心对申请优先审批的医疗器械注册申请进行了审核,对相关…

elasticsearch _cat/indices docs.count is different than <index>/_count

今天遇到一个问题,kibana中看到文档数与下面语句查询到的不同 GET /_cat/count/jiankunking_xxxxx_product_expand_test?v GET /jiankunking_xxxxx_product_expand_test/_search?track_total_hitstrue语句查询结果 epoch timestamp count 1711433785 06:16…

详解从ERP传到MES系统的数据

1、物料需求计划 MES系统提供的物料需求计划与传统BOM-MRP方式提供的物料需求计划有本质的不同。首先,满足产能约束、各种生产约束、优化生产调度、提高工作效率的要求。其次:它有详细的以分钟为单位的时间信息。将这些数据提供给ERP,可以大…

是德科技KEYSIGHT N9938A频谱分析仪

181/2461/8938产品概述: N9938A 是一款使用电池供电的便携式微波频谱分析仪;配置还包括全频段跟踪发生器和前置放大器、干扰分析仪、时间选通、VSWR 和反射测量、内置功率计。 N9938A FieldFox 手持式微波频谱分析仪 主要特性和功能 频率范围&#xff…

美团面试一面凉经

1.自我介绍 2.科研项目提问 没咋准备,说的有点没逻辑 3.问论坛项目 为什么用Redis实现登录?能不能用其他方式实现? 1、Redis 具备高性能 假如用户第一次访问 MySQL 中的某些数据。这个过程会比较慢,因为是从硬盘上读取的。将…

000_coolprop_in_matlab在Matlab中使用CoolProp

在Matlab中使用CoolProp 简介 CoolProp是一个开源的热力学性质库,可以计算多种流体的热力学性质。CoolProp支持多种编程语言,包括Python、C、Matlab等。本文将介绍如何在Matlab中使用CoolProp。 CoolProp官网 本文所使用的Matlab版本为R2021a。 在Ma…

C++基础--类和对象(上)--类与类成员及其成员函数

C基础--类和对象(上)--类与类成员及其成员函数 一、类的引入二、类的定义三、类的访问限定符及封装1、访问限定符2、封装 四、类的作用域五、类的实例化六、类的对象大小的计算七、类成员函数的 this 指针1、this指针的引出2、this指针的特性 八、总结 一…

Vit Transformer

一 VitTransformer 介绍 vit : An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale 论文是基于Attention Is All You Need,由于图像数据和词数据数据格式不一样,经典的transformer不能处理图像数据,在视觉领域的应…

4、事件修饰符、过滤器、自定义指令、生命周期

一、事件修饰符 按键别名enter 回车 delete 删除键 esc取消键 space 空格键 <script> export default {name: "KeyUp",methods:{keyUp(e){ console.log(e) }},skip(){window.location.href "http:www.xx.com"} } </script> <template>…

鸿蒙应用开发-录音保存并播放音频

功能介绍&#xff1a; 录音并保存为m4a格式的音频&#xff0c;然后播放该音频&#xff0c;参考文档使用AVRecorder开发音频录制功能(ArkTS)&#xff0c;更详细接口信息请查看接口文档&#xff1a;ohos.multimedia.media (媒体服务)。 知识点&#xff1a; 熟悉使用AVRecorder…

super的使用细节

1、super的使用细节 2、super和this的比较