{"id":961,"date":"2012-03-12T02:33:13","date_gmt":"2012-03-11T17:33:13","guid":{"rendered":"http:\/\/blog.xcir.net\/?p=961"},"modified":"2012-03-13T01:11:32","modified_gmt":"2012-03-12T16:11:32","slug":"varnishlogtrans-version-upmapping-from-vcl_trace-to-vcl-source","status":"publish","type":"post","link":"https:\/\/blog.xcir.net\/?p=961","title":{"rendered":"varnishlogtrans version up(mapping from vcl_trace to vcl source)"},"content":{"rendered":"<p>varnishlogtrans version up(mapping from vcl_trace to vcl source)<\/p>\n<p><a href=\"http:\/\/blog.xcir.net\/index.php\/2012\/02\/convert-varnishlog-output-to-easy\/\" title=\"convert varnishlog output to easy\">Past Articles:convert varnishlog output to easy<\/a><\/p>\n<h4>Changes<\/h4>\n<li>Feature: mapping from vcl_trace to vcl source(line).(request from @perbu)<\/li>\n<li>Feature: show backend status.(request from @dai_yamashita)<\/li>\n<li>Change: Add run option.<\/li>\n<li>Experimental: mapping from vcl_trace to vcl source(all).<\/li>\n<h4>mapping from vcl_trace to vcl source(line).<\/h4>\n<p>if you set to -f option, replace vcl_trace to VCL code<br \/>\nbefore.<\/p>\n<pre class=\"brush: plain; \">\n\r\n         | trace  | vrt_count:1 vcl_line:55 vcl_pos:1\r\n\n<\/pre>\n<p>after(use -f and -e option)<\/p>\n<pre class=\"brush: plain; \">\n\r\n         | trace  | set req.http.X-TEST1=campur_xcir.gethash();\r\n         |        | ^ (vrt_count:1 vcl_line:55 vcl_pos:1 src_name:input)\r\n\r\n\n<\/pre>\n<h4>show backend status.<\/h4>\n<p>show backend status.<br \/>\npast status is window 4times.<\/p>\n<pre class=\"brush: plain; \">\n\r\nbackend status\r\n------------------------------------------------------------\r\n\r\nname    | status  | past status\r\ndefault | healthy | YY\r\n\n<\/pre>\n<h4>Add run option.<\/h4>\n<h5>-f [vcl file]<\/h5>\n<p>if you set, you can mapping  from vcl_trace to vcl source.<\/p>\n<h5>-e [varnishd]<\/h5>\n<p>if you set, you can mapping  from vcl_trace to vcl source.<\/p>\n<h5>-cc_command [cc_command]<\/h5>\n<p>if you set in the -f option and varnish&#8217;s cc_command option ,please setting.<\/p>\n<h5>&#8211;(backend|action|variable) [on|off]<\/h5>\n<p>if you want to disable (backend|action|variable) info , set to off. (default is on)<\/p>\n<h4>mapping from vcl_trace to vcl source(all).<\/h4>\n<p>this function is unstable.<br \/>\nif you want use this function.<br \/>\nit need change value and set option(&#8211;src=on -f=[vclfile] -e=[varnishd]).<\/p>\n<p>before<\/p>\n<pre class=\"brush: php; \">\n\r\ndefine(&#039;experimental&#039; , false);\r\n\n<\/pre>\n<p>after<\/p>\n<pre class=\"brush: php; \">\n\r\ndefine(&#039;experimental&#039; , true);\r\n\n<\/pre>\n<p>output<\/p>\n<pre class=\"brush: plain; \">\n\r\n############################################################\r\nvcl trace\r\n[exec]      \/* &quot;input&quot;*\/\r\n[exec]  \/*\r\n\r\n...\r\n\r\n[exec]  sub vcl_recv {\r\n[exec]      if (req.restarts == 0) {\r\n[exec]          if (req.http.x-forwarded-for) {\r\n                    set req.http.X-Forwarded-For =\r\n                        req.http.X-Forwarded-For + &quot;, &quot; + client.ip;\r\n[exec]          } else {\r\n[exec]              set req.http.X-Forwarded-For = client.ip;\r\n[exec]          }\r\n[exec]      }\r\n[exec]      if (req.request != &quot;GET&quot; &amp;amp;amp;amp;&amp;amp;amp;amp;\r\n[exec]        req.request != &quot;HEAD&quot; &amp;amp;amp;amp;&amp;amp;amp;amp;\r\n[exec]        req.request != &quot;PUT&quot; &amp;amp;amp;amp;&amp;amp;amp;amp;\r\n[exec]        req.request != &quot;POST&quot; &amp;amp;amp;amp;&amp;amp;amp;amp;\r\n\r\n...\r\n\n<\/pre>\n<p>I hope that this code is of help to you.<\/p>\n<p>download here.<br \/>\n<a href=\"https:\/\/github.com\/xcir\/varnishlogTrans\">varnishlogTrans<\/a><\/p>\n<div class='wp_social_bookmarking_light'>        <div class=\"wsbl_hatena\"><a href='\/\/b.hatena.ne.jp\/add?mode=confirm&url=https%3A%2F%2Fblog.xcir.net%2F%3Fp%3D961&title=varnishlogtrans%20version%20up%28mapping%20from%20vcl_trace%20to%20vcl%20source%29' title='\u3053\u306e\u30a8\u30f3\u30c8\u30ea\u30fc\u3092\u306f\u3066\u306a\u30d6\u30c3\u30af\u30de\u30fc\u30af\u306b\u8ffd\u52a0' rel=nofollow class='wp_social_bookmarking_light_a' target=_blank><img src='https:\/\/blog.xcir.net\/wp-content\/plugins\/wp-social-bookmarking-light\/public\/images\/hatena.gif' alt='\u3053\u306e\u30a8\u30f3\u30c8\u30ea\u30fc\u3092\u306f\u3066\u306a\u30d6\u30c3\u30af\u30de\u30fc\u30af\u306b\u8ffd\u52a0' title='\u3053\u306e\u30a8\u30f3\u30c8\u30ea\u30fc\u3092\u306f\u3066\u306a\u30d6\u30c3\u30af\u30de\u30fc\u30af\u306b\u8ffd\u52a0' width='16' height='12' class='wp_social_bookmarking_light_img' \/><\/a><\/div>        <div class=\"wsbl_hatena_users\"><a href='\/\/b.hatena.ne.jp\/entry\/https:\/\/blog.xcir.net\/?p=961' title='\u306f\u3066\u306a\u30d6\u30c3\u30af\u30de\u30fc\u30af - varnishlogtrans version up(mapping from vcl_trace to vcl source)' rel=nofollow class='wp_social_bookmarking_light_a' target=_blank><img src='\/\/b.hatena.ne.jp\/entry\/image\/https:\/\/blog.xcir.net\/?p=961' alt='\u306f\u3066\u306a\u30d6\u30c3\u30af\u30de\u30fc\u30af - varnishlogtrans version up(mapping from vcl_trace to vcl source)' title='\u306f\u3066\u306a\u30d6\u30c3\u30af\u30de\u30fc\u30af - varnishlogtrans version up(mapping from vcl_trace to vcl source)'   class='wp_social_bookmarking_light_img' \/><\/a><\/div>        <div class=\"wsbl_facebook\"><a href='http:\/\/www.facebook.com\/share.php?u=https%3A%2F%2Fblog.xcir.net%2F%3Fp%3D961&t=varnishlogtrans%20version%20up%28mapping%20from%20vcl_trace%20to%20vcl%20source%29' title='Facebook \u306b\u30b7\u30a7\u30a2' rel=nofollow class='wp_social_bookmarking_light_a' target=_blank><img src='https:\/\/blog.xcir.net\/wp-content\/plugins\/wp-social-bookmarking-light\/public\/images\/facebook.png' alt='Facebook \u306b\u30b7\u30a7\u30a2' title='Facebook \u306b\u30b7\u30a7\u30a2' width='16' height='16' class='wp_social_bookmarking_light_img' \/><\/a><\/div>        <div class=\"wsbl_linkedin\"><a href='\/\/www.linkedin.com\/shareArticle?mini=true&url=https%3A%2F%2Fblog.xcir.net%2F%3Fp%3D961&title=varnishlogtrans%20version%20up%28mapping%20from%20vcl_trace%20to%20vcl%20source%29' title='LinkedIn \u306b\u30b7\u30a7\u30a2' rel=nofollow class='wp_social_bookmarking_light_a' target=_blank><img src='https:\/\/blog.xcir.net\/wp-content\/plugins\/wp-social-bookmarking-light\/public\/images\/linkedin.png' alt='LinkedIn \u306b\u30b7\u30a7\u30a2' title='LinkedIn \u306b\u30b7\u30a7\u30a2' width='16' height='16' class='wp_social_bookmarking_light_img' \/><\/a><\/div>        <div class=\"wsbl_twitter\"><a href=\"https:\/\/twitter.com\/share\" class=\"twitter-share-button\" data-url=\"https:\/\/blog.xcir.net\/?p=961\" data-text=\"varnishlogtrans version up(mapping from vcl_trace to vcl source)\" data-lang=\"ja\">Tweet<\/a><\/div><\/div>\n<br class='wp_social_bookmarking_light_clear' \/>\n","protected":false},"excerpt":{"rendered":"<p>varnishlogtrans version up(mapping from vcl_trace to vcl source) Past Articles:convert varnishlog output to ea <a href='https:\/\/blog.xcir.net\/?p=961' class='excerpt-more'>[&#8230;]<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[24,3],"tags":[5,35,36],"class_list":["post-961","post","type-post","status-publish","format-standard","hentry","category-english","category-3","tag-varnish","tag-varnishlog","tag-varnishlogtrans","category-24-id","category-3-id","post-seq-1","post-parity-odd","meta-position-corners","fix"],"_links":{"self":[{"href":"https:\/\/blog.xcir.net\/index.php?rest_route=\/wp\/v2\/posts\/961","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.xcir.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.xcir.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.xcir.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.xcir.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=961"}],"version-history":[{"count":7,"href":"https:\/\/blog.xcir.net\/index.php?rest_route=\/wp\/v2\/posts\/961\/revisions"}],"predecessor-version":[{"id":972,"href":"https:\/\/blog.xcir.net\/index.php?rest_route=\/wp\/v2\/posts\/961\/revisions\/972"}],"wp:attachment":[{"href":"https:\/\/blog.xcir.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=961"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.xcir.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=961"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.xcir.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=961"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}