##
## Licensed to the Apache Software Foundation (ASF) under one
## or more contributor license agreements.  See the NOTICE file
## distributed with this work for additional information
## regarding copyright ownership.  The ASF licenses this file
## to you under the Apache License, Version 2.0 (the
## "License"); you may not use this file except in compliance
## with the License.  You may obtain a copy of the License at
##
##     http://www.apache.org/licenses/LICENSE-2.0
##
## Unless required by applicable law or agreed to in writing, software
## distributed under the License is distributed on an "AS IS" BASIS,
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
## See the License for the specific language governing permissions and
## limitations under the License.

## Display statistics for an individual node in the trace.
#parse( "org/apache/avro/ipc/trace/templates/common.vm" )


<html>
<head>
<title>Avro Trace Results</title>
#mediaIncludes()
</head>
<body>
#if( $collection )
  <h2> <a href="/overview/">Return to patterns</a> </h2>
  <h1>Execution Pattern Overview</h1>
  
  #printCollectionSummary( $collection )
  #if( $node )
    <h1>$node.getMessageName()</h1>	
	<p>
	<strong>Latency - ms (Time Ordered)</strong><br>
	<script type="text/javascript">
	var data = [
	#set ($forCount = 0)
	#foreach ( $tim in $node.getTraceTimings() )
      {index: $forCount, prelink: $tim.PreLinkTime, cpu: $tim.ComputeTime, postlink: $tim.PostLinkTime},
      #set ($forCount = $forCount + 1)
	#end 
	]
	makeLatencyChart(data);
	</script>
  </p>
  
  <p>
  <strong>Latency - ms (Sorted) </strong><br>
  <script type="text/javascript">
  var data = [
  #set ($forCount = 0)
  #foreach ( $tim in $node.getTraceTimingsSorted() )
      {index: $forCount, prelink: $tim.PreLinkTime, cpu: $tim.ComputeTime, postlink: $tim.PostLinkTime},
      #set ($forCount = $forCount + 1)
  #end 
  ]
  makeLatencyChart(data);
  </script>
  </p>
  
  <p>
  <strong>Request Payloads - bytes (Time Ordered)</strong><br>
  <script>
  var data = [
  #set ($forCount = 0)
  #foreach ( $payload in $node.getRequestPayloads() )
      {x: $forCount, y: $payload},
      #set ($forCount = $forCount + 1)
  #end 
  ]
  makePayloadChart(data);
  </script>
  </p>
  
  <p>
  <strong>Response Payloads - bytes (Time Ordered)</strong><br>
  <script>
  var data = [
  #set ($forCount = 0)
  #foreach ( $payload in $node.getResponsePayloads() )
      {x: $forCount, y: $payload},
      #set ($forCount = $forCount + 1)
  #end 
  ]
  makePayloadChart(data);
  </script>
  </p>
  
  #else
    <h1>Node not found</h1>
  #end
#else
  <h1>Collection not Found</h2>
#end
</body>
</html>
