- 博客(22)
- 资源 (5)
- 收藏
- 关注
原创 Grafana Labs线上交流问卷调查
大家好,过去半年 Grafana 学习小组的内容输出,得到了 Grafana Labs 的认可。为了更好帮助国内朋友使用Grafana 相关产品,我们准备联合 Grafana Labs 的工程师开展一场线上技术交流,故制作话题调查问卷一份,感兴趣的朋友辛苦帮忙填写一下,多谢🙏https://www.wjx.cn/vm/ro3Re79.aspx
2023-01-31 23:04:36
212
原创 prometheus/tsdb index索引格式规范
内容源于https://ganeshvernekar.com/blog/prometheus-tsdb-persistent-block-and-its-index/比如一个metrics的格式如下:cpu{host=“computer",ip="1.2.3.4",systerm="64bit"} timestamp=xxx, value=12index总体格式分为:{}内部的str信息保存。即, symbol_table...
2021-07-26 10:46:49
494
原创 prometheus/tsdb压缩流程
tsdb/compact.gopopulateBlock indexr,chunkr,tombsr读blocks信息到内存for sumbols.Next() indexw.AddSymbols()//读所有symbol信息,并写入index文件。经过此步骤,当前index文件中只有symbols信息。结合tsdb官方的index 格式进行理解,https://ganeshvernekar.com/blog/prometheus-tsdb-persistent-block-an...
2021-07-19 11:31:09
744
原创 【openresty】【子请求】使用capture进行子请求(一)
上一节介绍了,当有请求http://127.0.0.1/userid/play/live/01.m3u8进入时,如何通过content_by_lua进行url解析,并返回一个ts信息。但在实际使用中,ts信息一般是放在后台服务器上的。这个时候,就要在原有的请求中,发起一个子请求。谈到子请求,我们先从capture认识子请求的基本面貌。从官方文档看到,https://github.com/openresty/lua-nginx-module#ngxlocationcapture可以看到小demo如下,
2021-03-09 22:21:56
1377
原创 【openresty】【实例】使用content_by_lua_file解析一个直播请求url
现在,服务端收到客户的一个url请求如下:http://127.0.0.1/$userid/play/live/01.m3u81、对请求url进行正则校验,如果正则合法,就放通。正则非法就拒绝服务。2、拿到这个请求后,先校验$userid合法性,比如是1000以下为合法。3、所有检查满足要求后,返回一个01.m3u8的内容,类似如下:#EXTM3U#EXT-X-TARGETDURATION:10#EXT-X-MEDIA-SEQUENCE:1#EXTINF:10,htt...
2021-02-25 17:27:21
2243
原创 【openresty】使用luajit处理请求(一)
1、前提LuaJITis enabled by default sinceOpenResty1.5.8.1。所以上一篇文章中,configure 没有添加--with-luajit 选项。查看nginx中使用的lua函数,https://www.nginx.com/resources/wiki/modules/lua/ 2、nginx使用的lua关键函数content_by_lua_block修改nginx.conf文件,如下: location / { ...
2021-02-24 19:05:48
810
原创 【openresty】openresty 下载与安装
1、下载源码和依赖:虚拟机linux环境为:14.04.1-Ubuntuopenresty源码,http://openresty.org/cn/download.html,找到源码后,下载到linux环境,比如/opt目录下,tar -zxvf openresty-1.15.8.1.tar.gz 解压此时先不要编辑,因为openresty还有一些依赖项需要安装。将要使用的编译参数为:./configure --with-debug --prefix=/opt/openresty/ --u.
2021-02-23 19:39:29
825
2
原创 使用react做一个简易图书管理系统
使用react+ant+flask实现简易图书管理系统近期使用react做了一次小的demo使用route布局页面用户登录认证 admin.js采用axios给后端发请求查询信息展示,通过ant的table实现近期使用react做了一次小的demo简易图书管理系统,包含用户登录校验、图书查询、新增书籍,用户密码修改。最终源码会有链接。使用route布局页面脚手架搭好后,在App.js中定义各个功能跳转接口,如下:同时,在登录首页,定义各个功能跳转函数,如下:async login(
2020-12-30 17:45:18
949
原创 react 初次部署
react安装1、下载官方node.js编译好的文件,https://nodejs.org/en/2、解压后,根据linux实际环境变量,执行ln -s /root/node-v14.15.1-linux-x64/bin/node /usr/local/bin/nodeln -s /root/node-v14.15.1-linux-x64/bin/npm /usr/local/bin/npmln -s /root/node-v14.15.1-linux-x64/bin/npx /usr/
2020-12-08 10:10:01
415
原创 从linux源码,跟踪epoll的ET/LT模式下,事件如何处理
之前项目中用到的epoll,大部分都是epoll的ET模式。在实际测试中,对于epoll的LT模式,也发现一些坑,近期打算结合linux源码,深入理解一下背后的逻辑。1、一个异常现象服务端用epoll LT模式,主函数起10个进程,接收客户端请求。客户端用webbench模拟请求。strace发现有accept异常。2、epoll事件流的变化2.1 epoll事件添加到哪里去?添加到fd事件来源对应的socket中以上面socket为例,epoll_ctl 添加事件的linux关键调
2020-10-28 18:51:18
281
原创 nginx+rtmp直播使用VLC播放出现播放延迟几秒分析
1、参考https://blog.youkuaiyun.com/fantasy_ARM9/article/details/78150804这个帖子里面有一点不太赞同,下面out_pos有队列长度,且按照0->255->0的规则去增长。这个队列是表示待发送队列,且一定是累加增长的。因为ffmpeg推送的数据,肯定一直向rtmp服务器发送,假设按照350kbit/s的速率发过来,rtmp本身会设置chunksize,一般是8192附近,所以接收队列会源源不断有数据进入。但是这个数据不会导致播放延迟几秒。
2020-09-02 19:28:27
5563
原创 ubuntu+nginx+rtmp搭建简易直播环境
1、ubuntu打开摄像头虚拟机打开Camare功能,查看/dev/video1设备ffmpeg -f video4linux2 -framerate 20 -video_size 640*480 -i /dev/video0 -f flv rtmp://192.168.27.129/live2、nginx启动,/usr/local/nginx/sbin/nginx -s reload3、电脑端/手机端打开vlc,访问rtmp://192.168.1.113:8091/live当电脑端.
2020-09-02 19:06:38
391
原创 python 抓取https豆瓣电影信息
1、豆瓣网址为https,python需要模拟浏览器行为,添加请求头信息,headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) ' 'Chrome/51.0.2704.63 Safari/537.36'}2、打开开发者工具,对信息进行提取2.1定位到电影信息头,先把关注的信息提取出来tab...
2020-07-31 15:38:54
409
原创 python 抓取城市7日天气
1、首先打开气象网址,http://www.weather.com.cn/weather/101190101.shtml,打开开发者工具,1.1可以看到7日的天气所在位置:1.2 具体每日的天气属性 ,在li class中,2、使用 python库函数获取网页信息url = 'http://www.weather.com.cn/weather/101190101.shtml'webpage = req.urlopen(url) # 根据超链访问链接的网页data = webpa.
2020-07-31 10:59:07
854
原创 sentinel发起failover命令,slave切换成master的过程
sentinel发起failover命令sentinelFailoverStateMachine sentinelFailoverSelectSlave日志:2837:X 27 Jul 2020 10:45:09.636 # +selected-slave slave 192.168.27.128:6479 192.168.27.128 6479 @ mymaster 192.168.27.128 63792837:X 27 Jul 2020 10:45:09.636 * +failove...
2020-07-27 16:18:51
873
原创 redis sentinel三种消息类型流程理解
sentinel探测消息,有ping,hello,failover三类。根据源码,画了下面的xmind流程图ping是为了保活检查。hello通道是下发master的config配置。failover是为了进行容灾切换。sentinelEvent函数,不是业务流程交互环节。参考信息:http://www.blogjava.net/jinfeng_wang/archive/2016/12/14/432108.html...
2020-07-06 17:43:47
236
1
原创 zynq 文件系统在sd卡启动,需要注意的一些事项
1、zynq对应的内核,是把bootargs写到u-boot代码中,需要修改bootargs参数,改成从sd分区2读取文件系统。重新编译uboot1.1 进入u-boot,打开include/configs/zynq-common.h,将sdboot的参数修改如下:即,去除原来在分区1读取ramdisk的命令,修改bootm,去除ramdisk部分。[1] "sdboot=if mmcinfo; then " \ "run uenvboot; " \
2020-06-04 13:57:33
4948
1
原创 bmp文件格式初探
1、下载bmpinfo.exe小工具,看bmp文件的概览信息。看到文件类型4d42,数据离起始偏移量,54位,这里是指54字节。其他字段自行搜资料。2、查找像素点信息。使用hex编辑器即可,这里再看一下,宽度和长度 512像素,占用4字节,且是小端存储(低地址,存放低位)。因为数据偏移量是54字节,所以真正的像素数据,从0x36开始。这是,37,51,9e表示的是哪个位置的数据?通过1中的bmpinfo,获取到的像素有问题,不确定其他使用场景如何。然后通过photoshop工
2020-05-09 15:39:26
621
原创 redis slave请求master进行数据同步
1、slave启动后,在serverCron函数中,定时发起数据同步请求。日志:54489:S 16 Feb 2020 11:50:12.863 * MASTER <-> REPLICA sync started54489:S 16 Feb 2020 11:50:12.863 * Non blocking connect for SYNC fired the event.5...
2020-02-16 21:44:11
1105
原创 redis 服务端处理客户端命令行的epoll事件执行过程分析
1、客户端链接redis服务端启动时,在_anetTcpServer进行socket,bind,listen步骤时,建立一个监听的sock fd0。并把这个fd0 添加到epoll监听事件。设置的回调函数中,fe->rfileProc=acceptTcpHandler if (mask & AE_READABLE) fe->rfileProc = proc; ...
2020-02-13 22:24:15
332
原创 redis 的syslog日志没有打印出来的探索过程
刚接触redis,阅读源码发现有很多打印日志的地方。但是如何打印到日志中,不太清楚,做了一次简单的探索。首先,在void serverLogRaw中, if (server.syslog_enabled) syslog(syslogLevelMap[level], "%s", msg);搜索代码,发现server.syslog_enabled的值,来自redis.conf的#sys...
2020-02-12 21:52:53
1442
原创 redis启动时的epoll事件
initServer1、epoll_create,创建epoll队列aeCreateEventLoop==>aeApiCreate state->epfd = epoll_create(1024); /* 1024 is just a hint for the kernel */2、epoll_ctl,添加epoll事件2.1、listenToPort...
2020-02-11 18:34:22
427
真正的蚁群算法
2014-03-12
QoS Management By Mobile Agents in Multimedia Communication
2013-09-06
Cuneyt Mertayak的Adaboost-matlab的6个源文件的分析+理解
2013-09-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人