<?xml version="1.0"?>
<!--
  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.
-->
<!-- ===============================================
'profiler' pipeline.  Shows how long each pipeline in the Forrest sitemap takes.

To enable this, edit sitemap.xmap and switch to use the "profiling pipes"
as described. Do 'forrest run' then do a few requests of the pipeline that
you want to profile (e.g. localhost:8888/index.html) then look at
the profiler http://localhost:8888/cprofile.html

See more notes at
http://cocoon.apache.org/2.1/userdocs/concepts/profiler.html

Used by    :  Forrest hackers desperate for speed
Uses       :  Stats collected by the profile-caching pipeline.

$Revision: 1.2 $
==================================================== -->
<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
  <map:components>
    <map:generators default="file">
      <map:generator name="profiler" src="org.apache.cocoon.generation.ProfilerGenerator"/>
    </map:generators>
    <map:serializers default="html"/>
    <map:transformers default="xslt"/>
    <map:matchers default="wildcard"/>
  </map:components>
  <map:pipelines>
    <map:pipeline>
      <map:match pattern="cprofile.html">
        <map:generate type="profiler"/>
        <map:transform src="{lm:transform.profile.html}">
          <map:parameter name="use-request-parameters" value="true"/>
        </map:transform>
        <map:serialize type="html"/>
      </map:match>
      <map:match pattern="cprofile.xml">
        <map:generate type="profiler"/>
        <map:serialize type="xml"/>
      </map:match>
    </map:pipeline>
  </map:pipelines>
</map:sitemap>
