2017-01-06 6 views
2

伝統的なプログラムの内部をプロファイルするためにジップキンを使用したいと思います。伝統的なプログラムの内部をプロファイリングするためのジップキン

AFAIK zipkinは、1つのリクエストがN個のサブリクエストによって計算されるマイクロサービス環境でトレースするための用語です。

私のpythonプログラムのパフォーマンスを分析したいと思います。

すべてのpythonメソッド呼び出しとすべてのlinuxシステムコールをトレースしたいと思います。

zipkinにスパンを得るためにpythonメソッド呼び出しとlinux syscallsをトレースするにはどうすればいいですか?

実現できない場合でも、これがどうやってできるか興味深いです。 zipkinの仕組みを学びたい。

答えて

4

zipkin用語では、「ローカルスパン」または「ローカルトレース」と呼ばれることがありますが、基本的には発信もリモート呼び出しも発生しない操作です。

私はシステムコールレベルで何も認識していませんが、多くのトレーサは関数呼び出しの明示的な計装をサポートしています。このような明示的な計測器のほかにpy_zipkin @zipkin_span(service_name='my_service', span_name='some_function') def some_function(a, b): return do_stuff(a, b)

を使用して例えば

、1もzipkinにデータをエクスポートすることができます。たとえば、別のツールで作成されたトレースデータをzipkin's json formatに変換することができます。

これはおそらくあなたの質問に答えることはできませんが、私はそれが役に立ちそうです。

関連する問題