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

前言

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

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

今天以一个商城项目为例子,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.hqwc.cn/news/568786.html

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

相关文章

AIGC,ChatGPT,Prompt 万能提示词

AIGC ChatGPT 职场案例 AI 绘画 与 短视频制作 PowerBI 商业智能 68集 Mysql 8.0 54集 Oracle 21C 142集 Office 2021实战应用 Python 数据分析实战, ETL Informatica 数据仓库案例实战 51集 Excel 2021实操 100集, Excel 2021函数大全 80集 Excel 2021…

使用 NocoDB 一键将各种数据库转换为智能表格

NocoDB 是一款开源的无代码数据库平台,可以进行数据管理和应用开发。它的灵感来自 Airtable,支持与 Airtable 类似的电子表格式交互、关系型数据库 Schema 设计、API 自动生成等特性。 但与 Airtable 相比,NocoDB 完全免费且代码开源&#xf…

MySQL查询约束

1 DML DML 数据操作语句 插入 insert 更新 update 删除 delete 1.1 更新 语法 update 表名 set 字段 值 [, 字段2 值2, ... ] [where 字段 值]; -- [, 字段2 值2, ... ] 是指,可选的,可以同时修改多个列的值 -- [where 字段 值] 是指,可选的,加上是指过滤,只更新符合条…

安达发|电子产品制造企业APS生产排程软件

在电子脉动的世界中,时间是芯片上的电流,效率是电路板上的速度。在这个时代,每一微秒都蕴藏着无限可能,每一决策都关乎着企业的生死存亡。APS生产排程软件,是您的电子制造帝国中的智慧大脑,以卓越的创造力&…

科技引领趋势:3D元宇宙展厅在各行业中的应用及其未来展望

随着技术的不断进步,3D元宇宙展厅正逐渐成为各行各业展示产品的新选择。相较于传统的线下展厅,3D元宇宙展厅以其独特的优势,为产品展示和品牌推广提供了全新的可能性。 一、虚拟与现实的完美融合 3D元宇宙展厅是指在虚拟世界中构建的三维展览…

k8s记录-基础配置1

1、基础yaml文件格式 1.1、namespace apiVersion: v1 kind: Namespace metadata:name: namelabels:name: namekubectl apply -f namespace.yaml 1.2、Service service示例 apiVersion: v1 kind: Service metadata:name: ilanni-httpd-svcnamespace: ilanni-namespace spec:…

HarmonyOS入门笔记1配置环境

文章目录 下载安装DevEco Studio配置环境先认识DevEco Studio界面工程目录工程级目录模块级目录 app.json5module.json5main_pages.json通知栏预览区 运行模拟器 下载安装DevEco Studio 去官网下载DevEco Studio完了安装 配置环境 打开已安装的DevEco Studio快捷方式进入配置…

微服务高级篇(五):可靠消息服务

文章目录 一、消息队列MQ存在的问题?二、如何保证 消息可靠性 ?2.1 生产者消息确认【对生产者配置】2.2 消息持久化2.3 消费者消息确认【对消费者配置】2.4 消费失败重试机制2.5 消费者失败消息处理策略2.6 总结 三、处理延迟消息?死信交换机…

OC对象 - Block解决循环引用

文章目录 OC对象 - Block解决循环引用前言1. 循环引用示例1.1 分析 2. 解决思路3. ARC下3.1 __weak3.2 __unsafe_unretained3.3 __block 4. MRC下4.1 __unsafe_unretain....4.1 __block 5. 总结5.1 ARC下5.2 MRC下 OC对象 - Block解决循环引用 前言 本章将会通过一个循环引用…

摩根大通:金和铜短期都涨多了 “一年十倍股”超微:预计在AI服务器占10-15%份额,给24倍PE很合理

今年以来大宗商品持续回暖,黄金、铜等金属表现尤为亮眼,乐观情绪蔓延之际摩根大通站出来提醒,小心回调风险! 摩根大通在最新商品金属周报指出,黄金和铜价的急剧上涨反映了市场对中长期趋势的乐观预期,然而…

【嵌入式——QT】多语言界面

【嵌入式——QT】多语言界面 多语言页面开发步骤tr()函数 多语言页面开发步骤 第一步 在你编写的代码中添加tr()函数,方便之后可以精准的定位到你所需要翻译的部分。 第二步 在.pro文件中添加以下代码,这样会让你生成相应的.ts文件,ts文件是…

湍流系统的混沌性质

同样的系统,边界条件一致,初始条件一致,采用不同的核并行,得到的系统的响应参数随着时间推进逐渐开始出现分叉,原因是由于细小的误差被不断放大。 But,系统的统计特性依然是不变的。