1

ムーバブル タイプのテンプレートを開発するとき、同じ結果を生成する複数の方法を考え出すことがよくあります。または、検索結果の生成などにかかった時間を知りたいだけです。

外部ツールを必要とせずに、テンプレート タグを使用して処理時間やその他のタイミング戦略を記録する簡単な方法はありますか?

4

2 に答える 2

3

または、ここで説明されているように、デバッグ モード 8 を使用することもできます: http://www.movabletype.org/documentation/developer/plugins/debug-mode.html

しきい値を使用してパフォーマンス ログを有効にするオプション (デバッグ モードと同じ [一般設定] パネル内) もあります。

于 2013-04-14T07:24:43.623 に答える
1

これは私が思いつき、しばらくの間使用してきた方法です。標準の Movable Type テンプレート言語を使用して、タイミングを最も近い秒単位で報告します。

テンプレート コードのチャンクの時間を計測するには、"timing" というシステムまたはブログ レベルのテンプレート モジュールを作成します。

<mt:If name="part" eq="start">
  <$mt:Date format="%H" setvar="hours"$>
  <$mt:Date format="%M" setvar="minutes"$>
  <$mt:Date format="%S" setvar="seconds"$>
  <$mt:Var name="hours" op="*" value="3600" setvar="hourseconds"$>
  <$mt:Var name="minutes" op="*" value="60" setvar="minuteseconds"$>
  <$mt:Var name="totalseconds" value="$hourseconds"$>
  <$mt:Var name="totalseconds" op="+" value="$minuteseconds" setvar="totalseconds"$>
  <$mt:Var name="totalseconds" op="+" value="$seconds" setvar="totalseconds"$>
  <$mt:Var name="totalseconds" setvar="startseconds"$>
<mt:Else name="part" eq="stop">
  <$mt:Date format="%H" setvar="hours"$>
  <$mt:Date format="%M" setvar="minutes"$>
  <$mt:Date format="%S" setvar="seconds"$>
  <$mt:Var name="hours" op="*" value="3600" setvar="hourseconds"$>
  <$mt:Var name="minutes" op="*" value="60" setvar="minuteseconds"$>
  <$mt:Var name="totalseconds" value="$hourseconds"$>
  <$mt:Var name="totalseconds" op="+" value="$minuteseconds" setvar="totalseconds"$>
  <$mt:Var name="totalseconds" op="+" value="$seconds" setvar="totalseconds"$>
  <$mt:Var name="totalseconds" setvar="finishseconds"$>
  <$mt:Var name="finishseconds" op="-" value="$startseconds" setvar="elapsedseconds">
  <!-- This search completed in <mt:If name="elapsedseconds" eq="0">less than 1 second<mt:Else name="elapsedseconds" eq="1">1 second<mt:Else><$mt:Var name="elapsedseconds"$> seconds</mt:If>. -->
</mt:If>

次に、何かを時間設定するテンプレートで、対象のチャンクの最初と最後に次の 2 行を配置します。

<$mt:Include module="timing" part="start"$>
  <mt:Ignore>Code I want to time</mt:Ignore>
<$mt:Include module="timing" part="stop"$>

タイミングが開始された場所を出力で示したい場合は、もちろん「開始」セクションに出力の行を追加できます。

于 2013-04-13T00:15:42.497 に答える