diff -r 29df63210f13 -r 164b0547f8a5 sbsv2/raptor/python/raptor_timing.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/python/raptor_timing.py Mon Dec 07 12:50:33 2009 +0000
@@ -0,0 +1,168 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+# timings API
+# This API can be used to start and stop timings in order to measure performance
+#
+import time
+
+class Timing(object):
+
+ @classmethod
+ def discovery_string(cls, object_type, count):
+ """
+ Returns a tag that can be used to show what is about to be
+ "processed"
+ Parameters:
+ object_type - string
+ Type of object that is about to be "processed" in this task
+ count - int
+ Number of objects of input "object_type" are about to be
+ "processed"
+ Returns:
+ string
+ XML tag in the format that can be printed directly to a
+ Raptor log
+ """
+ return "\n"
+
+
+ @classmethod
+ def start_string(cls, object_type, task, key):
+ """
+ Returns a tag that can be used to show what is being "processed"
+ and the time it started
+ Parameters:
+ object_type - string
+ Type of object that is being "processed" in this task
+ task - string
+ What is being done with the object being "processed"
+ key - string
+ Unique identifier for the object being "processed"
+ Returns:
+ string
+ XML tag in the format that can be printed directly to a
+ Raptor log
+ """
+ return "\n"
+
+
+ @classmethod
+ def end_string(cls, object_type, task, key):
+ """
+ Returns a tag that can be used to show what was being "processed"
+ and the time it finished
+ Parameters:
+ object_type - string
+ Type of object that was being "processed" in this task
+ task - string
+ What was being done with the object being "processed"
+ key - string
+ Unique identifier for the object that was "processed"
+ Returns:
+ string
+ XML tag in the format that can be printed directly to a
+ Raptor log
+ """
+ return "\n"
+
+
+ @classmethod
+ def custom_string(cls, tag = "duration", object_type = "all", task = "all",
+ key = "all", time = 0.0):
+ """
+ Returns a custom tag in the 'progress' tag format
+
+ Parameters:
+ tag - string
+ String to be used for the tag
+ object_type - string
+ Type of object that was being "processed" in this task
+ task - string
+ What was being done with the object being "processed"
+ key - string
+ Unique identifier for the object that was "processed"
+ time - float
+ The time to be included in the tag
+ Returns:
+ string
+ XML tag in the format that can be printed directly to a
+ Raptor log
+ """
+ time_string = "time"
+ if tag == "duration":
+ time_string = "duration"
+ return "\n"
+
+
+ @classmethod
+ def extract_values(cls, source):
+ """
+ Takes, as input, a single tag of the format returned by one of the
+ above progress functions. Will extract the attributes and
+ return them as a dictionary. Returns an empty dictionary {}
+ if the tag name is not recognised or there is a parse error
+ Parameters:
+ source - string
+ The input string from which extracted attributes are
+ required
+ Returns:
+ dictionary
+ Dictionary containing the attributes extracted from the
+ input string. Returns an empty dictionary {} if the
+ tag name is not recognised or there is a parse error
+ NB: This function will not work correctly if the 'source' variable
+ contains multiple tags
+ """
+ import re
+
+ attributes = {}
+
+ try:
+ match = re.match(re.compile(".*object_type='(?P.*?)'"),
+ source)
+ attributes["object_type"] = match.group("object_type")
+ except AttributeError, e:
+ print e
+ attributes["object_type"] = ""
+ try:
+ match = re.match(re.compile(".*task='(?P.*?)'"), source)
+ attributes["task"] = match.group("task")
+ except AttributeError, e:
+ print e
+ attributes["task"] = ""
+ try:
+ match = re.match(re.compile(".*key='(?P.*?)'"), source)
+ attributes["key"] = match.group("key")
+ except AttributeError:
+ attributes["key"] = ""
+ try:
+ match = re.match(re.compile(".*time='(?P