예제 #1
0
def renderComponent(component, allStats):
    print("Rendering component " + component)
    code = html.getHtmlHeader(component)
    code += html.generateStatistics(allStats, component)
    code += html.getHtmlEnd()
    file = open(component + ".htm", "w")
    file.write(code)
    file.close()
예제 #2
0
def renderComponent(component, allStats):
    print("Rendering component " + component)
    code = html.getHtmlHeader(component)
    code += html.generateStatistics(allStats, component)
    code += html.getHtmlEnd()
    file = open(component + ".htm", "w")
    file.write(code)
    file.close()
예제 #3
0
            self['name'] = values[3]


# Read in data
allFunctions = []
try:
    f = open(PathToProfileBuild + 'server.prof')
except:
    # Generate readable output
    here = os.getcwd()
    os.chdir(PathToProfileBuild)
    os.system('gprof alacarte-server gmon.out > server.prof')
    os.chdir(here)
for i, line in enumerate(f):
    if i < 5:
        # Skip headings
        continue
    if line == "\n":
        # Stop before callstack
        break
    allFunctions.append(function(line))
code = html.getHtmlHeader('gprof')
code += html.makeSortableTable(allFunctions, [
    'percentage', 'totalTime', 'ownTime', 'calls', 'ownTimePerCall',
    'totalTimePerCall', 'name'
])
code += html.getHtmlEnd()
file = open('gprof.htm', 'w')
file.write(code)
file.close()
예제 #4
0
            values = line.split(None, 3)
            self['calls'] = 0
            self['ownTimePerCall'] = 0
            self['totalTimePerCall'] = 0
            self['name'] = values[3]

# Read in data
allFunctions = []
try:
    f = open(PathToProfileBuild + 'server.prof')
except:
    # Generate readable output
    here = os.getcwd()
    os.chdir(PathToProfileBuild)
    os.system('gprof alacarte-server gmon.out > server.prof')
    os.chdir(here)
for i, line in enumerate(f):
    if i < 5:
        # Skip headings
        continue
    if line == "\n":
        # Stop before callstack
        break
    allFunctions.append(function(line))
code = html.getHtmlHeader('gprof')
code += html.makeSortableTable(allFunctions, ['percentage', 'totalTime', 'ownTime', 'calls', 'ownTimePerCall', 'totalTimePerCall', 'name'])
code += html.getHtmlEnd()
file = open('gprof.htm', 'w')
file.write(code)
file.close()
예제 #5
0
html.makeScatterPlot(allStats,
                     'Nodes',
                     'GeoNodes',
                     yName='GeoData::getNodeIds()')
html.makeScatterPlot(allStats,
                     'Ways',
                     'Renderer',
                     yName='Renderer::renderTile()')
html.makeScatterPlot(allStats,
                     'Ways',
                     'StylesheetMatch',
                     yName='Stylesheet::match()')

# Generating HTML-Timechart
print("Generating HTML-Timechart")
code = html.getHtmlHeader('Timechart')
code += html.generateTimechart(allStats, [
    'JobStart', 'Cache', 'ComputeRect', 'GeoContainsData', 'GeoNodes',
    'GeoWays', 'GeoRelations', 'StylesheetMatch', 'Renderer'
])
code += html.getHtmlEnd()
file = open("timechart.htm", "w")
file.write(code)
file.close()

# Generating index file.
code = html.getHtmlHeader('Index')
for component in [
        'Cache', 'ComputeRect', 'GeoContainsData', 'GeoNodes', 'GeoWays',
        'GeoRelations', 'StylesheetMatch', 'Renderer'
]:
예제 #6
0
    elif component == "GeoNodes":
        html.makeBoxPlot(allStats, component, median=median, scale=1.0, start=6, name="GeoData::getNodeIDs()")
    else:
        html.makeBoxPlot(allStats, component, median=median, start=6, name="Renderer::renderTile()")


# Render only some special graphs
html.makeScatterPlot(allStats, "Nodes", "GeoContainsData", yName="GeoData::containsData()", function="0*n", opacity=0.2)
html.makeScatterPlot(allStats, "Nodes", "GeoNodes", yName="GeoData::getNodeIds()")
html.makeScatterPlot(allStats, "Ways", "Renderer", yName="Renderer::renderTile()")
html.makeScatterPlot(allStats, "Ways", "StylesheetMatch", yName="Stylesheet::match()")


# Generating HTML-Timechart
print("Generating HTML-Timechart")
code = html.getHtmlHeader("Timechart")
code += html.generateTimechart(
    allStats,
    [
        "JobStart",
        "Cache",
        "ComputeRect",
        "GeoContainsData",
        "GeoNodes",
        "GeoWays",
        "GeoRelations",
        "StylesheetMatch",
        "Renderer",
    ],
)
code += html.getHtmlEnd()