Skip to main content

profile python app online, Display FlameGraph in a browser

Project description

## 项目名

`profiler_online`

### 介绍:
用来解析查找python程序可能存在的各方面性能或者奇葩问题的工具,通过web访问访问可以直接拿到火焰吐.

Will Add Future:

* 加入内存的相关信息
* 查询时间范围

### 安装:

**pypi:**

```
pip install profiler_online
```

**源码安装:**

```
git clone https://github.com/rfyiamcool/profiler_online.git
cd profiler_online
python setup.py install
```


### 用法:

这边已经封装好了,你需要做的只是把性能分析模块引入到你的应用里面.

```
from profiler_online import run_profiler
run_profiler()
```

### 测试:

打开浏览器 http://127.0.0.1:8080 这样就可以显示正在运行服务的性能火焰图了.

![image](https://github.com/rfyiamcool/profiler_online/raw/master/img/demo.png)

### 问题:

下面是以前创建火焰图的方法.

```
python test.py
curl "127.0.0.1:8080" | profiler_online/tools/flamegraph.pl > flame.html
```

改进的方法:
```
直接浏览器打开,地址栏 --> 127.0.0.1:8080
```

在开发过程中,遇到了python系统调用时不能正常捕获输出. 现在已经改为临时文件的方式.
```
cmdstr = './profiler_online/tools/flamegraph.pl'
p = subprocess.Popen(cmdstr, stdin = subprocess.PIPE, stderr = subprocess.PIPE, shell = True)
p.stdin.write(stats)
p.stdin.flush()
try:
if p.stderr:
stats = p.stderr.read()
p.stderr.flush()
if p.stdout:
stats = p.stdout.read()
except Exception, e:
print e,Exception
```

Project details


Release history Release notifications

This version
History Node

2.2

History Node

2.0

History Node

1.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
profiler_online-2.2.tar.gz (17.0 kB) Copy SHA256 hash SHA256 Source None Oct 22, 2015

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page