Integrating latest 47acbe8

This commit is contained in:
alexpete
2021-03-25 13:57:57 -07:00
parent 448c549698
commit 75dc720198
10312 changed files with 2711566 additions and 671451 deletions
Binary file not shown.
+3
View File
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:12af868284907978494ea9e82004a4d11509aab1dc772b5a159614e26e6682b8
size 10259456
Binary file not shown.
+3
View File
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fa7d1b5f34bf7b63a78d62cf7d59b24002fdfb4648182d76fe276347f7c20f32
size 11930624
Binary file not shown.
+3
View File
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:62a5feec5e47cb0b6a41e7c1d15a8a39f9c26f58100cee32b94d66c757fac71e
size 12004352
+31
View File
@@ -0,0 +1,31 @@
REM
REM
REM All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
REM its licensors.
REM
REM For complete copyright and license terms please see the LICENSE at the root of this
REM distribution (the "License"). All use of this software is governed by the License,
REM or, if provided, by the license below or the license accompanying this file. Do not
REM remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
REM
TITLE asset import test
SETLOCAL EnableExtensions
set EXE=AssetProcessor_tmp.exe
FOR /F %%x IN ('tasklist /NH /FI "IMAGENAME eq %EXE%"') DO IF %%x == %EXE% goto FOUND
echo Make sure asset processor is running before run this script.
goto FIN
:FOUND
SET F="..\..\Cache\SamplesProject\pc\samplesproject\objects"
IF EXIST %F% (
RMDIR /S /Q %F%
ECHO Detected folder at %F%
ECHO Make sure there's no fail / crash in asset processor after all job finished.
) ELSE (ECHO folder %F% NOT FOUND)
:FIN
PAUSE
+3
View File
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:839988d8bedc9a8ec7abf52c34886bd8560bf0a70cfe30d2be362d74bd28851b
size 45568
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:bb76d30a6782e42737778d75d67192eff8770745a327c7f0bcb172478bbee693
size 3334464
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:60ae111931f84ebfd0fb477f894c16193f2b661448610ef28dadb6e25669f6b6
size 2307704
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b77a7b85064278b9550fb4926ede40486401023fa0aa3791e26c5b54c89ed065
size 3076056
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5d84217997c2c29c46e2df33883a9e869ba3a65f22dd014b858dee25cc75f199
size 11129296
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b43625a00c5e82b21ffbd3f76b15a02b556497a11dea64a70bae065dc6db383a
size 9991040
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:36d6797b5180e458a04f39ebc7ccc4e9a077f94161aa6a1aa500a6dd2532f677
size 76256
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6a976d5ae4e58c41b1203c37c0538ce9b690bfd2c7bd41602c29bb628a4bed12
size 10371432
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9d7a99dd8cf3b1cadb7e638ede71bf143e787189352800cebe18b6148748497d
size 2312800
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7721d60e9c15dc07c63b0c457047f359dcd21de08ca1a1c858cb20799be83d6d
size 1802480
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:307a8ac4a2bfc08ff98e10063b503ce7f7dbc8c45bfa3eeb1459f28fced0a69a
size 2532480
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5f8e32c3fabea8c59f5afc7df2643ad70539aa3db10c2dae97cf3e9281507bf8
size 8205936
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:36ed8253faf1600d136923bf86ef52a812490e43c9caadee61ae28f2ecf1995b
size 7803856
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3123a5553a578b8494cc9453ab039a3198cfa564f3b8b9ccef4a8a593caffa1c
size 77256
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f7fd642b088929e74140930107ce9a4f06099eaa8e78dc9c024b98db3201f9fe
size 7588096
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6507de8507e07f3a3a3c216392951dd04cb8303d3c851cee3b6f8ef2615ccbb0
size 536576
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:faf9b73e55eb744a6a672444affcf29338552623bd24400fb858b17242b3ab90
size 2987702
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0877dd0586810f9f376a712ad9240ee73a35358fa32c7eb74e16f020772f9b51
size 790528
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ad8c021cd42687428b312cac1ad233f6101708e49437ef817959c303f5e69f37
size 3481946
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:631d2c813cd5f3b258555013db4dc90d57a692df60d3dad5398fce14fd2e69a7
size 1265664
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1b1e018c8571ab9e1b06c9e3a5750038a9589c2442563678815ae37a47512c80
size 10799690
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:49e77aeba8ff229ed1df999af9ef55fd3beaffe57b3f498036be4445809f5c6f
size 512000
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d58e0c4a46398a0feaf922c2325b57650f7b80947075ed024f5317c0101e0ebf
size 2604980
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:bb5c38028547b3834b92fcd5f5381b893bd9e5e9f7b3946ae3616f8d5209fbbd
size 733184
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e2157bd0d5f2408074879ba68027bf78ad4585b97eac469281a8c2159f10c0fa
size 3024914
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e477cfcc3433eb2311e4b4349ad9690f61a658298d0a82acb68f53bec086b56c
size 1191936
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7e7f0c899275be00dc64474d0880f9bbd67989f2df9cd69bd1fc6b6ef36f194b
size 9327612
+3
View File
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2ca56c2a96859b5171e7d24c81ed4d281da0ea26a7eaff7eac975d337eb4a2e1
size 266752
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6b8dc17c53df32173fd82d8bfc844bc3752bf6cbaf1bf2fd334dd6949f44b04b
size 1050344
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types"><Override PartName="/xl/charts/chart6.xml" ContentType="application/vnd.openxmlformats-officedocument.drawingml.chart+xml"/><Override PartName="/xl/charts/chart7.xml" ContentType="application/vnd.openxmlformats-officedocument.drawingml.chart+xml"/><Override PartName="/xl/worksheets/sheet9.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml"/><Override PartName="/xl/theme/theme1.xml" ContentType="application/vnd.openxmlformats-officedocument.theme+xml"/><Override PartName="/xl/styles.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml"/><Override PartName="/xl/charts/chart4.xml" ContentType="application/vnd.openxmlformats-officedocument.drawingml.chart+xml"/><Override PartName="/xl/charts/chart5.xml" ContentType="application/vnd.openxmlformats-officedocument.drawingml.chart+xml"/><Override PartName="/xl/drawings/drawing6.xml" ContentType="application/vnd.openxmlformats-officedocument.drawing+xml"/><Override PartName="/xl/drawings/drawing7.xml" ContentType="application/vnd.openxmlformats-officedocument.drawing+xml"/><Override PartName="/xl/drawings/drawing8.xml" ContentType="application/vnd.openxmlformats-officedocument.drawing+xml"/><Override PartName="/xl/worksheets/sheet6.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml"/><Override PartName="/xl/worksheets/sheet7.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml"/><Override PartName="/xl/worksheets/sheet8.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml"/><Override PartName="/xl/charts/chart2.xml" ContentType="application/vnd.openxmlformats-officedocument.drawingml.chart+xml"/><Override PartName="/xl/charts/chart3.xml" ContentType="application/vnd.openxmlformats-officedocument.drawingml.chart+xml"/><Override PartName="/xl/drawings/drawing4.xml" ContentType="application/vnd.openxmlformats-officedocument.drawing+xml"/><Override PartName="/xl/drawings/drawing5.xml" ContentType="application/vnd.openxmlformats-officedocument.drawing+xml"/><Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml"/><Default Extension="xml" ContentType="application/xml"/><Override PartName="/xl/workbook.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml"/><Override PartName="/xl/worksheets/sheet4.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml"/><Override PartName="/xl/worksheets/sheet5.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml"/><Override PartName="/xl/charts/chart1.xml" ContentType="application/vnd.openxmlformats-officedocument.drawingml.chart+xml"/><Override PartName="/xl/drawings/drawing2.xml" ContentType="application/vnd.openxmlformats-officedocument.drawing+xml"/><Override PartName="/xl/drawings/drawing3.xml" ContentType="application/vnd.openxmlformats-officedocument.drawing+xml"/><Override PartName="/docProps/app.xml" ContentType="application/vnd.openxmlformats-officedocument.extended-properties+xml"/><Override PartName="/xl/worksheets/sheet2.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml"/><Override PartName="/xl/worksheets/sheet3.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml"/><Override PartName="/xl/drawings/drawing1.xml" ContentType="application/vnd.openxmlformats-officedocument.drawing+xml"/><Override PartName="/xl/worksheets/sheet1.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml"/><Override PartName="/xl/calcChain.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml"/><Override PartName="/xl/sharedStrings.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml"/><Override PartName="/xl/charts/chart8.xml" ContentType="application/vnd.openxmlformats-officedocument.drawingml.chart+xml"/><Override PartName="/docProps/core.xml" ContentType="application/vnd.openxmlformats-package.core-properties+xml"/></Types>
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties" Target="docProps/app.xml"/><Relationship Id="rId2" Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" Target="docProps/core.xml"/><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="xl/workbook.xml"/></Relationships>
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Properties xmlns="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties" xmlns:vt="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes"><Application>Microsoft Excel</Application><DocSecurity>0</DocSecurity><ScaleCrop>false</ScaleCrop><HeadingPairs><vt:vector size="2" baseType="variant"><vt:variant><vt:lpstr>Worksheets</vt:lpstr></vt:variant><vt:variant><vt:i4>9</vt:i4></vt:variant></vt:vector></HeadingPairs><TitlesOfParts><vt:vector size="9" baseType="lpstr"><vt:lpstr>Group Totals</vt:lpstr><vt:lpstr>Message Totals</vt:lpstr><vt:lpstr>Policy Count</vt:lpstr><vt:lpstr>Policy Impact</vt:lpstr><vt:lpstr>Serialisation Impact</vt:lpstr><vt:lpstr>Bandwidth Over Time</vt:lpstr><vt:lpstr>Socket Packets Over Time</vt:lpstr><vt:lpstr>Socket Bits Over Time</vt:lpstr><vt:lpstr>Warnings</vt:lpstr></vt:vector></TitlesOfParts><Company>Crytek UK</Company><LinksUpToDate>false</LinksUpToDate><SharedDoc>false</SharedDoc><HyperlinksChanged>false</HyperlinksChanged><AppVersion>12.0000</AppVersion></Properties>
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<cp:coreProperties xmlns:cp="http://schemas.openxmlformats.org/package/2006/metadata/core-properties" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:dcmitype="http://purl.org/dc/dcmitype/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><dc:creator>lee</dc:creator><cp:lastModifiedBy>lee</cp:lastModifiedBy><dcterms:created xsi:type="dcterms:W3CDTF">2012-03-06T13:44:11Z</dcterms:created><dcterms:modified xsi:type="dcterms:W3CDTF">2012-03-23T08:28:17Z</dcterms:modified></cp:coreProperties>
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId8" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet" Target="worksheets/sheet8.xml"/><Relationship Id="rId13" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/calcChain" Target="calcChain.xml"/><Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet" Target="worksheets/sheet3.xml"/><Relationship Id="rId7" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet" Target="worksheets/sheet7.xml"/><Relationship Id="rId12" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings" Target="sharedStrings.xml"/><Relationship Id="rId2" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet" Target="worksheets/sheet2.xml"/><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet" Target="worksheets/sheet1.xml"/><Relationship Id="rId6" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet" Target="worksheets/sheet6.xml"/><Relationship Id="rId11" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles" Target="styles.xml"/><Relationship Id="rId5" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet" Target="worksheets/sheet5.xml"/><Relationship Id="rId10" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme" Target="theme/theme1.xml"/><Relationship Id="rId4" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet" Target="worksheets/sheet4.xml"/><Relationship Id="rId9" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet" Target="worksheets/sheet9.xml"/></Relationships>
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<calcChain xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"><c r="N2" i="7"/><c r="H2"/><c r="N2" i="6"/><c r="H2"/><c r="N2" i="5"/><c r="H2"/></calcChain>
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<c:chartSpace xmlns:c="http://schemas.openxmlformats.org/drawingml/2006/chart" xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"><c:lang val="en-GB"/><c:chart><c:title><c:tx><c:rich><a:bodyPr/><a:lstStyle/><a:p><a:pPr><a:defRPr/></a:pPr><a:r><a:rPr lang="en-GB"/><a:t>Overall By Schedule Group</a:t></a:r></a:p></c:rich></c:tx><c:layout/></c:title><c:plotArea><c:layout/><c:pieChart><c:varyColors val="1"/><c:ser><c:idx val="0"/><c:order val="0"/><c:cat><c:strRef><c:f>'Group Totals'!###---SHEET1_COL0---###</c:f><c:strCache><c:ptCount val="2"/><c:pt idx="0"><c:v>peter</c:v></c:pt><c:pt idx="1"><c:v>paul</c:v></c:pt></c:strCache></c:strRef></c:cat><c:val><c:numRef><c:f>'Group Totals'!###---SHEET1_COL1---###</c:f><c:numCache><c:formatCode>General</c:formatCode><c:ptCount val="2"/><c:pt idx="0"><c:v>5</c:v></c:pt><c:pt idx="1"><c:v>5</c:v></c:pt></c:numCache></c:numRef></c:val></c:ser><c:dLbls><c:showPercent val="1"/></c:dLbls><c:firstSliceAng val="0"/></c:pieChart></c:plotArea><c:legend><c:legendPos val="r"/><c:layout/></c:legend><c:plotVisOnly val="1"/></c:chart><c:printSettings><c:headerFooter/><c:pageMargins b="0.75" l="0.7" r="0.7" t="0.75" header="0.3" footer="0.3"/><c:pageSetup/></c:printSettings></c:chartSpace>
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<c:chartSpace xmlns:c="http://schemas.openxmlformats.org/drawingml/2006/chart" xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"><c:lang val="en-GB"/><c:chart><c:title><c:tx><c:rich><a:bodyPr/><a:lstStyle/><a:p><a:pPr><a:defRPr/></a:pPr><a:r><a:rPr lang="en-GB"/><a:t>Overall By Message</a:t></a:r></a:p></c:rich></c:tx><c:layout/></c:title><c:plotArea><c:layout/><c:pieChart><c:varyColors val="1"/><c:ser><c:idx val="0"/><c:order val="0"/><c:cat><c:strRef><c:f>'Message Totals'!###---SHEET2_COL0---###</c:f><c:strCache><c:ptCount val="2"/><c:pt idx="0"><c:v>peter</c:v></c:pt><c:pt idx="1"><c:v>paul</c:v></c:pt></c:strCache></c:strRef></c:cat><c:val><c:numRef><c:f>'Message Totals'!###---SHEET2_COL1---###</c:f><c:numCache><c:formatCode>General</c:formatCode><c:ptCount val="2"/><c:pt idx="0"><c:v>5</c:v></c:pt><c:pt idx="1"><c:v>5</c:v></c:pt></c:numCache></c:numRef></c:val></c:ser><c:dLbls><c:showPercent val="1"/></c:dLbls><c:firstSliceAng val="0"/></c:pieChart></c:plotArea><c:legend><c:legendPos val="r"/><c:layout/></c:legend><c:plotVisOnly val="1"/></c:chart><c:printSettings><c:headerFooter/><c:pageMargins b="0.75" l="0.7" r="0.7" t="0.75" header="0.3" footer="0.3"/><c:pageSetup/></c:printSettings></c:chartSpace>
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<c:chartSpace xmlns:c="http://schemas.openxmlformats.org/drawingml/2006/chart" xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"><c:lang val="en-GB"/><c:chart><c:title><c:tx><c:rich><a:bodyPr/><a:lstStyle/><a:p><a:pPr><a:defRPr/></a:pPr><a:r><a:rPr lang="en-GB"/><a:t>Overall By</a:t></a:r><a:r><a:rPr lang="en-GB" baseline="0"/><a:t> Policy Count</a:t></a:r><a:endParaRPr lang="en-GB"/></a:p></c:rich></c:tx><c:layout/></c:title><c:plotArea><c:layout/><c:pieChart><c:varyColors val="1"/><c:ser><c:idx val="0"/><c:order val="0"/><c:cat><c:strRef><c:f>'Policy Count'!###---SHEET3_COL0---###</c:f><c:strCache><c:ptCount val="2"/><c:pt idx="0"><c:v>ui2</c:v></c:pt><c:pt idx="1"><c:v>eid</c:v></c:pt></c:strCache></c:strRef></c:cat><c:val><c:numRef><c:f>'Policy Count'!###---SHEET3_COL1---###</c:f><c:numCache><c:formatCode>General</c:formatCode><c:ptCount val="2"/><c:pt idx="0"><c:v>2080181</c:v></c:pt><c:pt idx="1"><c:v>1398975</c:v></c:pt></c:numCache></c:numRef></c:val></c:ser><c:dLbls><c:showPercent val="1"/></c:dLbls><c:firstSliceAng val="0"/></c:pieChart></c:plotArea><c:legend><c:legendPos val="r"/><c:layout/></c:legend><c:plotVisOnly val="1"/></c:chart><c:printSettings><c:headerFooter/><c:pageMargins b="0.75" l="0.7" r="0.7" t="0.75" header="0.3" footer="0.3"/><c:pageSetup/></c:printSettings></c:chartSpace>
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<c:chartSpace xmlns:c="http://schemas.openxmlformats.org/drawingml/2006/chart" xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"><c:lang val="en-GB"/><c:chart><c:title><c:tx><c:rich><a:bodyPr/><a:lstStyle/><a:p><a:pPr><a:defRPr/></a:pPr><a:r><a:rPr lang="en-GB"/><a:t>Overall By Policy Impact (Bits</a:t></a:r><a:r><a:rPr lang="en-GB" baseline="0"/><a:t> Per Policy)</a:t></a:r><a:endParaRPr lang="en-GB"/></a:p></c:rich></c:tx><c:layout/></c:title><c:plotArea><c:layout/><c:pieChart><c:varyColors val="1"/><c:ser><c:idx val="0"/><c:order val="0"/><c:cat><c:strRef><c:f>'Policy Impact'!###---SHEET4_COL0---###</c:f><c:strCache><c:ptCount val="2"/><c:pt idx="0"><c:v>wrld</c:v></c:pt><c:pt idx="1"><c:v>dMov</c:v></c:pt></c:strCache></c:strRef></c:cat><c:val><c:numRef><c:f>'Policy Impact'!###---SHEET4_COL1---###</c:f><c:numCache><c:formatCode>General</c:formatCode><c:ptCount val="2"/><c:pt idx="0"><c:v>53545829</c:v></c:pt><c:pt idx="1"><c:v>13312905</c:v></c:pt></c:numCache></c:numRef></c:val></c:ser><c:dLbls><c:showPercent val="1"/></c:dLbls><c:firstSliceAng val="0"/></c:pieChart></c:plotArea><c:legend><c:legendPos val="r"/><c:layout/></c:legend><c:plotVisOnly val="1"/></c:chart><c:printSettings><c:headerFooter/><c:pageMargins b="0.75" l="0.7" r="0.7" t="0.75" header="0.3" footer="0.3"/><c:pageSetup/></c:printSettings></c:chartSpace>
@@ -0,0 +1,93 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<c:chartSpace xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"
xmlns:c="http://schemas.openxmlformats.org/drawingml/2006/chart"
xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships">
<c:lang val="en-GB" />
<c:chart>
<c:title>
<c:tx>
<c:rich>
<a:bodyPr />
<a:lstStyle />
<a:p>
<a:pPr>
<a:defRPr />
</a:pPr>
<a:r>
<a:rPr lang="en-GB" />
<a:t>Overall By Serialisation Impact (Bits</a:t>
</a:r>
<a:r>
<a:rPr baseline="0"
lang="en-GB" />
<a:t>Per Serialise)</a:t>
</a:r>
<a:endParaRPr lang="en-GB" />
</a:p>
</c:rich>
</c:tx>
<c:layout />
</c:title>
<c:plotArea>
<c:layout />
<c:pieChart>
<c:varyColors val="1" />
<c:ser>
<c:idx val="0" />
<c:order val="0" />
<c:dLbls>
<c:showPercent val="1" />
</c:dLbls>
<c:cat>
<c:strRef>
<c:f>&#39;Serialisation Impact&#39;!###---SHEET5_COL0---###</c:f>
<c:strCache>
<c:ptCount val="2" />
<c:pt idx="0">
<c:v>wrld</c:v>
</c:pt>
<c:pt idx="1">
<c:v>dMov</c:v>
</c:pt>
</c:strCache>
</c:strRef>
</c:cat>
<c:val>
<c:numRef>
<c:f>&#39;Serialisation Impact&#39;!###---SHEET5_COL1---###</c:f>
<c:numCache>
<c:formatCode>General</c:formatCode>
<c:ptCount val="2" />
<c:pt idx="0">
<c:v>53545829</c:v>
</c:pt>
<c:pt idx="1">
<c:v>13312905</c:v>
</c:pt>
</c:numCache>
</c:numRef>
</c:val>
</c:ser>
<c:dLbls>
<c:showPercent val="1" />
</c:dLbls>
<c:firstSliceAng val="0" />
</c:pieChart>
</c:plotArea>
<c:legend>
<c:legendPos val="r" />
<c:layout />
</c:legend>
<c:plotVisOnly val="1" />
</c:chart>
<c:printSettings>
<c:headerFooter />
<c:pageMargins b="0.75"
footer="0.3"
header="0.3"
l="0.7"
r="0.7"
t="0.75" />
<c:pageSetup />
</c:printSettings>
</c:chartSpace>
@@ -0,0 +1,78 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<c:chartSpace xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"
xmlns:c="http://schemas.openxmlformats.org/drawingml/2006/chart"
xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships">
<c:lang val="en-GB" />
<c:chart>
<c:title>
<c:tx>
<c:rich>
<a:bodyPr />
<a:lstStyle />
<a:p>
<a:pPr>
<a:defRPr />
</a:pPr>
<a:r>
<a:rPr lang="en-GB" />
<a:t>Bandwidth Over Time</a:t>
</a:r>
</a:p>
</c:rich>
</c:tx>
<c:layout />
</c:title>
<c:plotArea>
<c:layout />
<c:areaChart>
<c:grouping val="standard" />###---SHEET6_CHART---###
<c:dLbls />
<c:axId val="201936256" />
<c:axId val="201974912" /></c:areaChart>
<c:catAx>
<c:axId val="201936256" />
<c:scaling>
<c:orientation val="minMax" />
</c:scaling>
<c:axPos val="b" />
<c:majorTickMark val="none" />
<c:tickLblPos val="nextTo" />
<c:crossAx val="201974912" />
<c:crosses val="autoZero" />
<c:auto val="1" />
<c:lblAlgn val="ctr" />
<c:lblOffset val="100" />
</c:catAx>
<c:valAx>
<c:axId val="201974912" />
<c:scaling>
<c:orientation val="minMax" />
</c:scaling>
<c:axPos val="l" />
<c:majorGridlines />
<c:numFmt formatCode="General"
sourceLinked="1" />
<c:majorTickMark val="none" />
<c:tickLblPos val="nextTo" />
<c:crossAx val="201936256" />
<c:crosses val="autoZero" />
<c:crossBetween val="midCat" />
</c:valAx>
</c:plotArea>
<c:legend>
<c:legendPos val="b" />
<c:layout />
</c:legend>
<c:plotVisOnly val="1" />
</c:chart>
<c:printSettings>
<c:headerFooter />
<c:pageMargins b="0.75"
footer="0.3"
header="0.3"
l="0.7"
r="0.7"
t="0.75" />
<c:pageSetup />
</c:printSettings>
</c:chartSpace>
@@ -0,0 +1,84 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<c:chartSpace xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"
xmlns:c="http://schemas.openxmlformats.org/drawingml/2006/chart"
xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships">
<c:lang val="en-GB" />
<c:chart>
<c:title>
<c:tx>
<c:rich>
<a:bodyPr />
<a:lstStyle />
<a:p>
<a:pPr>
<a:defRPr />
</a:pPr>
<a:r>
<a:rPr lang="en-GB" />
<a:t>Socket</a:t>
</a:r>
<a:r>
<a:rPr baseline="0"
lang="en-GB" />
<a:t>Packets Per Second</a:t>
</a:r>
<a:endParaRPr lang="en-GB" />
</a:p>
</c:rich>
</c:tx>
<c:layout />
</c:title>
<c:plotArea>
<c:layout />
<c:areaChart>
<c:grouping val="standard" />###---SHEET7_CHART---###
<c:dLbls />
<c:axId val="132560384" />
<c:axId val="132561920" /></c:areaChart>
<c:catAx>
<c:axId val="132560384" />
<c:scaling>
<c:orientation val="minMax" />
</c:scaling>
<c:axPos val="b" />
<c:majorTickMark val="none" />
<c:tickLblPos val="nextTo" />
<c:crossAx val="132561920" />
<c:crosses val="autoZero" />
<c:auto val="1" />
<c:lblAlgn val="ctr" />
<c:lblOffset val="100" />
</c:catAx>
<c:valAx>
<c:axId val="132561920" />
<c:scaling>
<c:orientation val="minMax" />
</c:scaling>
<c:axPos val="l" />
<c:majorGridlines />
<c:numFmt formatCode="General"
sourceLinked="1" />
<c:majorTickMark val="none" />
<c:tickLblPos val="nextTo" />
<c:crossAx val="132560384" />
<c:crosses val="autoZero" />
<c:crossBetween val="midCat" />
</c:valAx>
</c:plotArea>
<c:legend>
<c:legendPos val="b" />
<c:layout />
</c:legend>
<c:plotVisOnly val="1" />
</c:chart>
<c:printSettings>
<c:headerFooter />
<c:pageMargins b="0.75000000000000022"
footer="0.3000000000000001"
header="0.3000000000000001"
l="0.70000000000000018"
r="0.70000000000000018"
t="0.75000000000000022" />
<c:pageSetup />
</c:printSettings>
</c:chartSpace>
@@ -0,0 +1,83 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<c:chartSpace xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"
xmlns:c="http://schemas.openxmlformats.org/drawingml/2006/chart"
xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships">
<c:lang val="en-GB" />
<c:chart>
<c:title>
<c:tx>
<c:rich>
<a:bodyPr />
<a:lstStyle />
<a:p>
<a:pPr>
<a:defRPr />
</a:pPr>
<a:r>
<a:rPr lang="en-GB" />
<a:t>Socket</a:t>
</a:r>
<a:r>
<a:rPr baseline="0"
lang="en-GB" />
<a:t>Bits Per Second</a:t>
</a:r>
</a:p>
</c:rich>
</c:tx>
<c:layout />
</c:title>
<c:plotArea>
<c:layout />
<c:areaChart>
<c:grouping val="standard" />###---SHEET8_CHART---###
<c:dLbls />
<c:axId val="133802624" />
<c:axId val="133816704" /></c:areaChart>
<c:catAx>
<c:axId val="133802624" />
<c:scaling>
<c:orientation val="minMax" />
</c:scaling>
<c:axPos val="b" />
<c:majorTickMark val="none" />
<c:tickLblPos val="nextTo" />
<c:crossAx val="133816704" />
<c:crosses val="autoZero" />
<c:auto val="1" />
<c:lblAlgn val="ctr" />
<c:lblOffset val="100" />
</c:catAx>
<c:valAx>
<c:axId val="133816704" />
<c:scaling>
<c:orientation val="minMax" />
</c:scaling>
<c:axPos val="l" />
<c:majorGridlines />
<c:numFmt formatCode="General"
sourceLinked="1" />
<c:majorTickMark val="none" />
<c:tickLblPos val="nextTo" />
<c:crossAx val="133802624" />
<c:crosses val="autoZero" />
<c:crossBetween val="midCat" />
</c:valAx>
</c:plotArea>
<c:legend>
<c:legendPos val="b" />
<c:layout />
</c:legend>
<c:plotVisOnly val="1" />
</c:chart>
<c:printSettings>
<c:headerFooter />
<c:pageMargins b="0.75000000000000022"
footer="0.3000000000000001"
header="0.3000000000000001"
l="0.70000000000000018"
r="0.70000000000000018"
t="0.75000000000000022" />
<c:pageSetup />
</c:printSettings>
</c:chartSpace>
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart" Target="../charts/chart1.xml"/></Relationships>
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart" Target="../charts/chart2.xml"/></Relationships>
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart" Target="../charts/chart3.xml"/></Relationships>
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart" Target="../charts/chart4.xml"/></Relationships>
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart" Target="../charts/chart5.xml"/></Relationships>
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart" Target="../charts/chart6.xml"/></Relationships>
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart" Target="../charts/chart7.xml"/></Relationships>
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart" Target="../charts/chart8.xml"/></Relationships>
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xdr:wsDr xmlns:xdr="http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing" xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"><xdr:twoCellAnchor><xdr:from><xdr:col>4</xdr:col><xdr:colOff>38099</xdr:colOff><xdr:row>0</xdr:row><xdr:rowOff>28574</xdr:rowOff></xdr:from><xdr:to><xdr:col>29</xdr:col><xdr:colOff>9524</xdr:colOff><xdr:row>40</xdr:row><xdr:rowOff>114299</xdr:rowOff></xdr:to><xdr:graphicFrame macro=""><xdr:nvGraphicFramePr><xdr:cNvPr id="2" name="Chart 1"/><xdr:cNvGraphicFramePr/></xdr:nvGraphicFramePr><xdr:xfrm><a:off x="0" y="0"/><a:ext cx="0" cy="0"/></xdr:xfrm><a:graphic><a:graphicData uri="http://schemas.openxmlformats.org/drawingml/2006/chart"><c:chart xmlns:c="http://schemas.openxmlformats.org/drawingml/2006/chart" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" r:id="rId1"/></a:graphicData></a:graphic></xdr:graphicFrame><xdr:clientData/></xdr:twoCellAnchor></xdr:wsDr>
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xdr:wsDr xmlns:xdr="http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing" xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"><xdr:twoCellAnchor><xdr:from><xdr:col>3</xdr:col><xdr:colOff>38100</xdr:colOff><xdr:row>0</xdr:row><xdr:rowOff>76199</xdr:rowOff></xdr:from><xdr:to><xdr:col>28</xdr:col><xdr:colOff>581025</xdr:colOff><xdr:row>40</xdr:row><xdr:rowOff>57150</xdr:rowOff></xdr:to><xdr:graphicFrame macro=""><xdr:nvGraphicFramePr><xdr:cNvPr id="2" name="Chart 1"/><xdr:cNvGraphicFramePr/></xdr:nvGraphicFramePr><xdr:xfrm><a:off x="0" y="0"/><a:ext cx="0" cy="0"/></xdr:xfrm><a:graphic><a:graphicData uri="http://schemas.openxmlformats.org/drawingml/2006/chart"><c:chart xmlns:c="http://schemas.openxmlformats.org/drawingml/2006/chart" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" r:id="rId1"/></a:graphicData></a:graphic></xdr:graphicFrame><xdr:clientData/></xdr:twoCellAnchor></xdr:wsDr>
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xdr:wsDr xmlns:xdr="http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing" xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"><xdr:twoCellAnchor><xdr:from><xdr:col>2</xdr:col><xdr:colOff>276225</xdr:colOff><xdr:row>0</xdr:row><xdr:rowOff>95250</xdr:rowOff></xdr:from><xdr:to><xdr:col>28</xdr:col><xdr:colOff>371475</xdr:colOff><xdr:row>40</xdr:row><xdr:rowOff>19050</xdr:rowOff></xdr:to><xdr:graphicFrame macro=""><xdr:nvGraphicFramePr><xdr:cNvPr id="2" name="Chart 1"/><xdr:cNvGraphicFramePr/></xdr:nvGraphicFramePr><xdr:xfrm><a:off x="0" y="0"/><a:ext cx="0" cy="0"/></xdr:xfrm><a:graphic><a:graphicData uri="http://schemas.openxmlformats.org/drawingml/2006/chart"><c:chart xmlns:c="http://schemas.openxmlformats.org/drawingml/2006/chart" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" r:id="rId1"/></a:graphicData></a:graphic></xdr:graphicFrame><xdr:clientData/></xdr:twoCellAnchor></xdr:wsDr>
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xdr:wsDr xmlns:xdr="http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing" xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"><xdr:twoCellAnchor><xdr:from><xdr:col>3</xdr:col><xdr:colOff>0</xdr:colOff><xdr:row>0</xdr:row><xdr:rowOff>133349</xdr:rowOff></xdr:from><xdr:to><xdr:col>28</xdr:col><xdr:colOff>514350</xdr:colOff><xdr:row>40</xdr:row><xdr:rowOff>123824</xdr:rowOff></xdr:to><xdr:graphicFrame macro=""><xdr:nvGraphicFramePr><xdr:cNvPr id="2" name="Chart 1"/><xdr:cNvGraphicFramePr/></xdr:nvGraphicFramePr><xdr:xfrm><a:off x="0" y="0"/><a:ext cx="0" cy="0"/></xdr:xfrm><a:graphic><a:graphicData uri="http://schemas.openxmlformats.org/drawingml/2006/chart"><c:chart xmlns:c="http://schemas.openxmlformats.org/drawingml/2006/chart" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" r:id="rId1"/></a:graphicData></a:graphic></xdr:graphicFrame><xdr:clientData/></xdr:twoCellAnchor></xdr:wsDr>
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xdr:wsDr xmlns:xdr="http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing" xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"><xdr:twoCellAnchor><xdr:from><xdr:col>2</xdr:col><xdr:colOff>552450</xdr:colOff><xdr:row>0</xdr:row><xdr:rowOff>104775</xdr:rowOff></xdr:from><xdr:to><xdr:col>28</xdr:col><xdr:colOff>457200</xdr:colOff><xdr:row>40</xdr:row><xdr:rowOff>95250</xdr:rowOff></xdr:to><xdr:graphicFrame macro=""><xdr:nvGraphicFramePr><xdr:cNvPr id="2" name="Chart 1"/><xdr:cNvGraphicFramePr/></xdr:nvGraphicFramePr><xdr:xfrm><a:off x="0" y="0"/><a:ext cx="0" cy="0"/></xdr:xfrm><a:graphic><a:graphicData uri="http://schemas.openxmlformats.org/drawingml/2006/chart"><c:chart xmlns:c="http://schemas.openxmlformats.org/drawingml/2006/chart" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" r:id="rId1"/></a:graphicData></a:graphic></xdr:graphicFrame><xdr:clientData/></xdr:twoCellAnchor></xdr:wsDr>
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xdr:wsDr xmlns:xdr="http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing" xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"><xdr:twoCellAnchor><xdr:from><xdr:col>3</xdr:col><xdr:colOff>38099</xdr:colOff><xdr:row>9</xdr:row><xdr:rowOff>142875</xdr:rowOff></xdr:from><xdr:to><xdr:col>28</xdr:col><xdr:colOff>257174</xdr:colOff><xdr:row>40</xdr:row><xdr:rowOff>9525</xdr:rowOff></xdr:to><xdr:graphicFrame macro=""><xdr:nvGraphicFramePr><xdr:cNvPr id="4" name="Chart 3"/><xdr:cNvGraphicFramePr/></xdr:nvGraphicFramePr><xdr:xfrm><a:off x="0" y="0"/><a:ext cx="0" cy="0"/></xdr:xfrm><a:graphic><a:graphicData uri="http://schemas.openxmlformats.org/drawingml/2006/chart"><c:chart xmlns:c="http://schemas.openxmlformats.org/drawingml/2006/chart" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" r:id="rId1"/></a:graphicData></a:graphic></xdr:graphicFrame><xdr:clientData/></xdr:twoCellAnchor></xdr:wsDr>
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xdr:wsDr xmlns:xdr="http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing" xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"><xdr:twoCellAnchor><xdr:from><xdr:col>2</xdr:col><xdr:colOff>47624</xdr:colOff><xdr:row>3</xdr:row><xdr:rowOff>104775</xdr:rowOff></xdr:from><xdr:to><xdr:col>26</xdr:col><xdr:colOff>533399</xdr:colOff><xdr:row>38</xdr:row><xdr:rowOff>9525</xdr:rowOff></xdr:to><xdr:graphicFrame macro=""><xdr:nvGraphicFramePr><xdr:cNvPr id="2" name="Chart 1"/><xdr:cNvGraphicFramePr/></xdr:nvGraphicFramePr><xdr:xfrm><a:off x="0" y="0"/><a:ext cx="0" cy="0"/></xdr:xfrm><a:graphic><a:graphicData uri="http://schemas.openxmlformats.org/drawingml/2006/chart"><c:chart xmlns:c="http://schemas.openxmlformats.org/drawingml/2006/chart" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" r:id="rId1"/></a:graphicData></a:graphic></xdr:graphicFrame><xdr:clientData/></xdr:twoCellAnchor></xdr:wsDr>
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xdr:wsDr xmlns:xdr="http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing" xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"><xdr:twoCellAnchor><xdr:from><xdr:col>2</xdr:col><xdr:colOff>38099</xdr:colOff><xdr:row>3</xdr:row><xdr:rowOff>104775</xdr:rowOff></xdr:from><xdr:to><xdr:col>27</xdr:col><xdr:colOff>447675</xdr:colOff><xdr:row>39</xdr:row><xdr:rowOff>114301</xdr:rowOff></xdr:to><xdr:graphicFrame macro=""><xdr:nvGraphicFramePr><xdr:cNvPr id="2" name="Chart 1"/><xdr:cNvGraphicFramePr/></xdr:nvGraphicFramePr><xdr:xfrm><a:off x="0" y="0"/><a:ext cx="0" cy="0"/></xdr:xfrm><a:graphic><a:graphicData uri="http://schemas.openxmlformats.org/drawingml/2006/chart"><c:chart xmlns:c="http://schemas.openxmlformats.org/drawingml/2006/chart" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" r:id="rId1"/></a:graphicData></a:graphic></xdr:graphicFrame><xdr:clientData/></xdr:twoCellAnchor></xdr:wsDr>
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<sst xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" count="###---STRINGSCOUNT---###" uniqueCount="###---STRINGSCOUNT---###">###---STRINGSTABLE---###</sst>
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<styleSheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"><fonts count="1"><font><sz val="11"/><color theme="1"/><name val="Calibri"/><family val="2"/><scheme val="minor"/></font></fonts><fills count="2"><fill><patternFill patternType="none"/></fill><fill><patternFill patternType="gray125"/></fill></fills><borders count="1"><border><left/><right/><top/><bottom/><diagonal/></border></borders><cellStyleXfs count="1"><xf numFmtId="0" fontId="0" fillId="0" borderId="0"/></cellStyleXfs><cellXfs count="1"><xf numFmtId="0" fontId="0" fillId="0" borderId="0" xfId="0"/></cellXfs><cellStyles count="1"><cellStyle name="Normal" xfId="0" builtinId="0"/></cellStyles><dxfs count="0"/><tableStyles count="0" defaultTableStyle="TableStyleMedium9" defaultPivotStyle="PivotStyleLight16"/></styleSheet>
File diff suppressed because one or more lines are too long
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<workbook xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"><fileVersion appName="xl" lastEdited="4" lowestEdited="4" rupBuild="4505"/><workbookPr defaultThemeVersion="124226"/><bookViews><workbookView xWindow="120" yWindow="60" windowWidth="28695" windowHeight="12780" firstSheet="1" activeTab="8"/></bookViews><sheets><sheet name="Group Totals" sheetId="1" r:id="rId1"/><sheet name="Message Totals" sheetId="2" r:id="rId2"/><sheet name="Policy Count" sheetId="3" r:id="rId3"/><sheet name="Policy Impact" sheetId="4" r:id="rId4"/><sheet name="Serialisation Impact" sheetId="9" r:id="rId5"/><sheet name="Bandwidth Over Time" sheetId="5" r:id="rId6"/><sheet name="Socket Packets Over Time" sheetId="6" r:id="rId7"/><sheet name="Socket Bits Over Time" sheetId="7" r:id="rId8"/><sheet name="Warnings" sheetId="8" r:id="rId9"/></sheets><calcPr calcId="124519"/></workbook>
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing" Target="../drawings/drawing1.xml"/></Relationships>
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing" Target="../drawings/drawing2.xml"/></Relationships>
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing" Target="../drawings/drawing3.xml"/></Relationships>
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing" Target="../drawings/drawing4.xml"/></Relationships>
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing" Target="../drawings/drawing5.xml"/></Relationships>
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing" Target="../drawings/drawing6.xml"/></Relationships>
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing" Target="../drawings/drawing7.xml"/></Relationships>
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing" Target="../drawings/drawing8.xml"/></Relationships>
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"><dimension ref="A1:B2"/><sheetViews><sheetView workbookViewId="0"><selection activeCell="B2" sqref="A1:B2"/></sheetView></sheetViews><sheetFormatPr defaultRowHeight="15"/>###---SHEET1_DATA---###<pageMargins left="0.7" right="0.7" top="0.75" bottom="0.75" header="0.3" footer="0.3"/><drawing r:id="rId1"/></worksheet>
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"><dimension ref="A1:B2"/><sheetViews><sheetView workbookViewId="0"><selection activeCell="C6" sqref="C6"/></sheetView></sheetViews><sheetFormatPr defaultRowHeight="15"/>###---SHEET2_DATA---###<pageMargins left="0.7" right="0.7" top="0.75" bottom="0.75" header="0.3" footer="0.3"/><drawing r:id="rId1"/></worksheet>
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"><dimension ref="A1:B2"/><sheetViews><sheetView workbookViewId="0"><selection sqref="A1:B2"/></sheetView></sheetViews><sheetFormatPr defaultRowHeight="15"/>###---SHEET3_DATA---###<pageMargins left="0.7" right="0.7" top="0.75" bottom="0.75" header="0.3" footer="0.3"/><drawing r:id="rId1"/></worksheet>
@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"
xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships">
<dimension ref="A1:B2" />
<sheetViews>
<sheetView workbookViewId="0">
<selection activeCell="B9"
sqref="B9" />
</sheetView>
</sheetViews>
<sheetFormatPr defaultRowHeight="15" />###---SHEET4_DATA---###
<pageMargins bottom="0.75"
footer="0.3"
header="0.3"
left="0.7"
right="0.7"
top="0.75" />
<drawing r:id="rId1" />
</worksheet>
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"
xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships">
<dimension ref="A1" />
<sheetViews>
<sheetView tabSelected="1"
workbookViewId="0" />
</sheetViews>
<sheetFormatPr defaultRowHeight="15" />###---SHEET5_DATA---###
<pageMargins bottom="0.75"
footer="0.3"
header="0.3"
left="0.7"
right="0.7"
top="0.75" />
<drawing r:id="rId1" />
</worksheet>
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"
xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships">
<dimension ref="A1:O6" />
<sheetViews>
<sheetView workbookViewId="0">
<selection activeCell="G2"
sqref="G2:P2" />
</sheetView>
</sheetViews>
<sheetFormatPr defaultRowHeight="15" />###---SHEET6_DATA---###
<pageMargins bottom="0.75"
footer="0.3"
header="0.3"
left="0.7"
right="0.7"
top="0.75" />
<drawing r:id="rId1" /></worksheet>
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"
xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships">
<dimension ref="A1:O6" />
<sheetViews>
<sheetView workbookViewId="0">
<selection activeCell="G2"
sqref="G2:P2" />
</sheetView>
</sheetViews>
<sheetFormatPr defaultRowHeight="15" />###---SHEET7_DATA---###
<pageMargins bottom="0.75"
footer="0.3"
header="0.3"
left="0.7"
right="0.7"
top="0.75" />
<drawing r:id="rId1" /></worksheet>
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"
xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships">
<dimension ref="A1:O6" />
<sheetViews>
<sheetView workbookViewId="0">
<selection activeCell="G2"
sqref="G2:P2" />
</sheetView>
</sheetViews>
<sheetFormatPr defaultRowHeight="15" />###---SHEET8_DATA---###
<pageMargins bottom="0.75"
footer="0.3"
header="0.3"
left="0.7"
right="0.7"
top="0.75" />
<drawing r:id="rId1" /></worksheet>
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"
xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships">
<dimension ref="A1" />
<sheetViews>
<sheetView tabSelected="1"
workbookViewId="0" />
</sheetViews>
<sheetFormatPr defaultRowHeight="15" />###---SHEET9_DATA---###
<pageMargins bottom="0.75"
footer="0.3"
header="0.3"
left="0.7"
right="0.7"
top="0.75" />
</worksheet>
+100
View File
@@ -0,0 +1,100 @@
#
# All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
# its licensors.
#
# For complete copyright and license terms please see the LICENSE at the root of this
# distribution (the "License"). All use of this software is governed by the License,
# or, if provided, by the license below or the license accompanying this file. Do not
# remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#
from EventLogger.Utils import EventBoundary, EventHeader, EventNameHash, LogHeader, Prolog, PrologId
def size_align_up(size, align):
return (size + (align - 1)) & ~(align - 1)
class Reader(object):
ReadStatus_Success = 0
ReadStatus_InsufficientFileSize = -1
ReadStatus_InvalidFormat = -2
ReadStatus_NoEvents = -3
def __init__(self):
self.log_header = LogHeader()
self.current_event = EventHeader()
self.current_thread_id = None
self.buffer = None
self.buffer_size = 0
self.buffer_pos = 0
def read_log_file(self, file_path):
with open(file_path, mode='rb') as log_file:
self.buffer = log_file.read()
self.buffer_size = len(self.buffer)
if self.buffer_size < LogHeader.size():
return Reader.ReadStatus_InsufficientFileSize
self.log_header.unpack(self.buffer)
self.buffer_pos = LogHeader.size()
if self.log_header.get_format() not in LogHeader.accepted_formats():
return Reader.ReadStatus_InvalidFormat
if self.buffer_pos + EventHeader.size() > self.buffer_size:
return Reader.ReadStatus_NoEvents
self.current_event.unpack(self._get_next(EventHeader.size()))
self._update_thread_id()
return Reader.ReadStatus_Success
def get_log_header(self):
return self.log_header
def get_thread_id(self):
return self.current_thread_id
def get_event_name(self):
return EventNameHash(self.current_event.event_id)
def get_event_size(self):
return self.current_event.size
def get_event_flags(self):
return self.current_event.flags
def get_event_data(self):
start = self.buffer_pos + EventHeader.size()
return self._get_next(self.get_event_size(), override_start=start)
def get_event_string(self):
string_data = self.get_event_data()
return string_data.decode('utf-8')
def next(self):
real_size = EventHeader.size() + self.get_event_size()
self.buffer_pos += size_align_up(real_size, EventBoundary)
if self.buffer_pos < self.buffer_size:
self.current_event.unpack(self._get_next(EventHeader.size()))
self._update_thread_id()
return True
return False
def _get_next(self, size, override_start=None):
start = override_start or self.buffer_pos
end = start + size
return self.buffer[start:end]
def _update_thread_id(self):
if self.get_event_name() == PrologId:
prolog = Prolog()
prolog.unpack(self._get_next(Prolog.size()))
self.current_thread_id = prolog.thread_id
+121
View File
@@ -0,0 +1,121 @@
#
# All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
# its licensors.
#
# For complete copyright and license terms please see the LICENSE at the root of this
# distribution (the "License"). All use of this software is governed by the License,
# or, if provided, by the license below or the license accompanying this file. Do not
# remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#
import struct
import sys
# Simple hash structure based on DJB2a
class EventNameHash(object):
def __init__(self, name):
if isinstance(name, int):
self.hash = name
else:
value = 5381
for i in range(len(name)):
value = ((value << 5) + value) ^ ord(name[i])
self.hash = value & 0xFFFFFFFF
def __hash__(self):
return self.hash
def __eq__(self, rhs):
if isinstance(rhs, EventNameHash):
return self.hash == rhs.hash
else:
return self.hash == rhs
PrologId = EventNameHash("Prolog")
EventBoundary = 8
class LogStructBase(object):
def _unpack(self, member_info, data):
pos = 0
for (member, data_format, data_size) in member_info:
pos_end = pos + data_size
unpacked_value = struct.unpack(data_format, data[pos:pos_end])
setattr(self, member, unpacked_value[0])
pos = pos_end
class LogHeader(LogStructBase):
@staticmethod
def size():
return 16
@staticmethod
def accepted_formats():
return ['AZEL']
def __init__(self):
self.four_cc = None
self.major_version = None
self.minor_version = None
self.user_version = None
def unpack(self, data):
member_info = [
('four_cc', '@4s', 4),
('major_version', '@I', 4),
('minor_version', '@I', 4),
('user_version', '@I', 4),
]
self._unpack(member_info, data)
def get_format(self):
return self.four_cc.decode('utf-8')
def get_version(self):
return f'{self.major_version}.{self.minor_version} ({self.user_version})'
class EventHeader(LogStructBase):
@staticmethod
def size():
return 8
def __init__(self):
self.event_id = None
self.size = None
self.flags = None
def unpack(self, data):
member_info = [
('event_id', '@I', 4),
('size', '@H', 2),
('flags', '@H', 2),
]
self._unpack(member_info, data)
class Prolog(EventHeader):
@staticmethod
def size():
return 16
def __init__(self):
super().__init__()
self.thread_id = None
def unpack(self, data):
member_info = [
('event_id', '@I', 4),
('size', '@H', 2),
('flags', '@H', 2),
('thread_id', '@Q', 8)
]
self._unpack(member_info, data)
@@ -0,0 +1,10 @@
#
# All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
# its licensors.
#
# For complete copyright and license terms please see the LICENSE at the root of this
# distribution (the "License"). All use of this software is governed by the License,
# or, if provided, by the license below or the license accompanying this file. Do not
# remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#
+68
View File
@@ -0,0 +1,68 @@
#
# All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
# its licensors.
#
# For complete copyright and license terms please see the LICENSE at the root of this
# distribution (the "License"). All use of this software is governed by the License,
# or, if provided, by the license below or the license accompanying this file. Do not
# remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#
from EventLogger.Reader import Reader
from EventLogger.Utils import EventNameHash, PrologId
import argparse
import os
import sys
AssertId = EventNameHash("Assert")
ErrorId = EventNameHash("Error")
MessageId = EventNameHash("Message")
PrintfId = EventNameHash("Printf")
WarningId = EventNameHash("Warning")
def main(args):
parser = argparse.ArgumentParser(description='Simple Event Logger Printer')
parser.add_argument('file', type=str, help='Path log file')
parsed_args = parser.parse_args(args)
log_file = parsed_args.file
if not os.path.exists(log_file):
print('[ERROR] Invalid file path supplied')
exit(1)
log_reader = Reader()
status = log_reader.read_log_file(log_file)
if status == Reader.ReadStatus_InsufficientFileSize:
print('File size too small to contain Event Logger information')
return
elif status == Reader.ReadStatus_InvalidFormat:
print('Invalid Event Logger format detected')
return
log_header = log_reader.get_log_header()
print(f'Log File: {log_file}')
print(f'Format: {log_header.get_format()}')
print(f'Version: {log_header.get_version()}')
has_event = (status == Reader.ReadStatus_Success)
while has_event:
event_id = log_reader.get_event_name()
if event_id == PrologId:
print(f'Thread: {log_reader.get_thread_id()}')
elif event_id in (AssertId, ErrorId, WarningId, PrintfId, MessageId):
print(f'> {log_reader.get_event_string()}')
else:
print(f'Event ID {event_id}, Size {log_reader.get_event_size()}')
has_event = log_reader.next()
if __name__ == '__main__':
main(sys.argv[1:])
+157
View File
@@ -0,0 +1,157 @@
#
# All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
# its licensors.
#
# For complete copyright and license terms please see the LICENSE at the root of this
# distribution (the "License"). All use of this software is governed by the License,
# or, if provided, by the license below or the license accompanying this file. Do not
# remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#
from EventLogger.Reader import Reader
from EventLogger.Utils import EventNameHash, PrologId
from tkinter import filedialog
from tkinter import ttk
from tkinter import *
import tkinter
import struct
AssertId = EventNameHash("Assert")
ErrorId = EventNameHash("Error")
MessageId = EventNameHash("Message")
PrintfId = EventNameHash("Printf")
WarningId = EventNameHash("Warning")
class TraceViewer(object):
def __init__(self):
self._tab_content = {}
self._window = window = tkinter.Tk()
window.title('Trace Viewer')
window.minsize(640, 480)
# file menu
self._file_menu = file_menu = Menubutton(window, text='File')
file_menu.menu = Menu(file_menu, tearoff=0)
file_menu['menu'] = file_menu.menu
file_menu.pack(side=TOP, anchor=W)
file_menu.menu.add_command(label='Open...', command=self._open_file)
file_menu.menu.add_command(label='Exit', command=window.quit)
# main content
self._main_view = main_view = ttk.Notebook(window)
main_view.pack(fill=BOTH, expand=1)
# setup a debug tab for internal logging
self._add_new_tab('Debug')
def run(self):
self._window.mainloop()
def _reset(self):
for tab in self._main_view.winfo_children():
tab.destroy()
self._add_new_tab('Debug')
def _add_new_tab(self, name):
tab = ttk.Frame(self._main_view)
vscrollbar = Scrollbar(tab)
hscrollbar = Scrollbar(tab, orient='horizontal')
text_box = Text(tab, yscrollcommand=vscrollbar.set, xscrollcommand=hscrollbar.set, wrap=NONE)
text_box.tag_config('Assert', foreground='red3', background='gray80')
text_box.tag_config('Error', foreground='red2')
text_box.tag_config('Warning', foreground='SteelBlue3')
vscrollbar.config(command=text_box.yview)
hscrollbar.config(command=text_box.xview)
vscrollbar.pack(side=RIGHT, fill=Y)
hscrollbar.pack(side=BOTTOM, fill=X)
text_box.pack(fill=BOTH, expand=1)
self._main_view.add(tab, text=name)
self._tab_content[name] = text_box
self._active_content = text_box
def _append_debug_message(self, message):
debug_content = self._tab_content['Debug']
debug_content.insert(END, f'{message}\n')
def _append_current_message(self, message):
if self._active_content:
self._active_content.insert(END, f'{message}\n')
def _append_current_tagged_message(self, message, tag):
if self._active_content:
start = self._active_content.index('insert linestart')
self._active_content.insert(END, f'{message}\n')
self._active_content.tag_add(tag, start, 'insert lineend')
def _open_file(self):
log_file_types = [
('log files','*.azel'),
('log files','*.bin'),
('all files','*.*')
]
log_file = filedialog.askopenfilename(initialdir='../../', title='Select log file', filetypes=log_file_types)
if not log_file:
self._append_debug_message('Invalid file')
return
self._reset()
log_reader = Reader()
status = log_reader.read_log_file(log_file)
if status == Reader.ReadStatus_InsufficientFileSize:
self._append_debug_message('File size too small to contain Event Logger information')
return
elif status == Reader.ReadStatus_InvalidFormat:
self._append_debug_message('Invalid Event Logger format detected')
return
log_header = log_reader.get_log_header()
self._append_debug_message(f'Log File: {log_file}')
self._append_debug_message(f'Format: {log_header.get_format()}')
self._append_debug_message(f'Version: {log_header.get_version()}')
tagged_messages = { AssertId : 'Assert', ErrorId : 'Error', WarningId : 'Warning' }
has_event = (status == Reader.ReadStatus_Success)
while has_event:
event_id = log_reader.get_event_name()
if event_id == PrologId:
tab_name = f'Thread {log_reader.get_thread_id()}'
if tab_name in self._tab_content:
self._active_content = self._tab_content[tab_name]
else:
self._add_new_tab(tab_name)
elif event_id in tagged_messages:
self._append_current_tagged_message(log_reader.get_event_string(), tagged_messages[event_id])
elif event_id in (PrintfId, MessageId):
self._append_current_message(log_reader.get_event_string())
else:
self._append_current_message(f'Event ID {event_id}, Size {log_reader.get_event_size()}')
has_event = log_reader.next()
def main():
trace_viewer = TraceViewer()
trace_viewer.run()
if __name__ == '__main__':
main()
@@ -1,15 +0,0 @@
@echo off
REM
REM All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
REM its licensors.
REM
REM REM For complete copyright and license terms please see the LICENSE at the root of this
REM distribution (the "License"). All use of this software is governed by the License,
REM or, if provided, by the license below or the license accompanying this file. Do not
REM remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
REM
REM
REM Provided as an example of how to run the Automated Launcher Test on a developer's local machine.
../../python/python.cmd run_launcher_tests_xenia.py --project-json-path "../../SamplesProject/project.json" --project-launcher-tests-folder "../../SamplesProject/LauncherTests"
@@ -1,15 +0,0 @@
@echo off
REM
REM All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
REM its licensors.
REM
REM REM For complete copyright and license terms please see the LICENSE at the root of this
REM distribution (the "License"). All use of this software is governed by the License,
REM or, if provided, by the license below or the license accompanying this file. Do not
REM remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
REM
REM
REM Provided as an example of how to run the Automated Launcher Test on a developer's local machine.
../../python/python.cmd run_launcher_tests_xenia.py --project-json-path "../../StarterGame/project.json" --project-launcher-tests-folder "../../StarterGame/LauncherTests"
@@ -14,14 +14,19 @@ import sys
from ly_test_tools import WINDOWS
def _get_test_launcher_cmd():
def _get_test_launcher_cmd(build_dir=None):
"""
Helper function to determine the test launcher command for the current platform
:param build_dir: the --build-directory arg that is passed to determine which build dir to use. Can also be None
:return: The test launcher command
"""
python_runner = "python3.cmd"
build_arg = ""
if build_dir:
build_arg = f"--build-directory {build_dir} "
python_runner = "python.cmd"
if not WINDOWS:
python_runner = "python3.sh"
python_runner = "python.sh"
current_dir = sys.executable
# Look upward a handful of levels to check for the LY python entry point script
@@ -29,12 +34,12 @@ def _get_test_launcher_cmd():
for _ in range(10):
python_wrapper = os.path.join(current_dir, python_runner)
if os.path.exists(python_wrapper):
return f"{python_wrapper} -m pytest "
return f"{python_wrapper} -m pytest{build_arg} "
# Using an explicit else to avoid aberrant behavior from following filesystem links
else:
current_dir = os.path.abspath(os.path.join(current_dir, os.path.pardir))
return f"{sys.executable} -m pytest "
return f"{sys.executable} -m pytest{build_arg} "
def _format_cmd(launcher_cmd, test_path, nodeid):
@@ -65,17 +70,18 @@ def _format_cmd(launcher_cmd, test_path, nodeid):
return f"{launcher_cmd}{test_id_argument}"
def build_rerun_commands(test_path, nodeids):
def build_rerun_commands(test_path, nodeids, build_dir=None):
"""
Builds a list of commands to run tests
:param test_path: File or directory that contains the test(s) that were run
:param nodeids: List of test node ids, with parametrized values
:param build_dir: the --build-directory arg that is passed to determine which build dir to use. Can also be None
:return: A list of commands to re-run tests
"""
commands = []
test_launcher_cmd = _get_test_launcher_cmd()
test_launcher_cmd = _get_test_launcher_cmd(build_dir)
for nodeid in nodeids:
commands.append(_format_cmd(test_launcher_cmd, test_path, nodeid))
@@ -13,32 +13,39 @@ import os
import ly_test_tools._internal.pytest_plugin.failed_test_rerun_command as rerun
def _add_commands(terminalreporter, header, test_path, nodeids):
def _add_commands(terminalreporter, header, test_path, nodeids, build_dir=None):
"""
Add test re-run commands to the TerminalReporter object
:param terminalreporter: Pytest's TerminalReporter object that contains test result information.
:param header: Message to write to TerminalReporter before list is added
:param test_path: File or directory that contains the test(s) that to run
:param nodeids: List of test node ids, with parametrized values
:param build_dir: the --build-directory arg that is passed to determine which build dir to use. Can also be None
"""
terminalreporter.write_line(header)
if nodeids:
commands = rerun.build_rerun_commands(test_path, nodeids)
commands = rerun.build_rerun_commands(test_path, nodeids, build_dir)
for command in commands:
terminalreporter.write_line(command)
else:
terminalreporter.write_line("Error, Test node id list is empty!")
def pytest_terminal_summary(terminalreporter, exitstatus):
def pytest_terminal_summary(terminalreporter, exitstatus, config):
"""
Pytest's hook for terminal reporting. This hook is invoked at the end of the test session.
:param terminalreporter: Pytest's TerminalReporter object that contains test result information.
:param exitstatus: Exit that will be returned to the system
"""
# Check to see if the build directory was passed
build_dir = None
try:
build_dir = config.known_args_namespace.build_directory
except AttributeError:
pass
# Add to the TerminalReport a section for failed test re-running
failures = terminalreporter.stats.get('failed', [])
@@ -62,7 +69,7 @@ def pytest_terminal_summary(terminalreporter, exitstatus):
terminalreporter,
"Use the following commands to re-run each test that failed locally\n"
"(NOTE: The 'PYTHON' or 'PYTHONPATH' environment variables need values for accurate commands): ",
test_path, nodeids)
test_path, nodeids, build_dir)
if error_count:
nodeids = [os.path.basename(report.nodeid) for report in errors]
@@ -71,4 +78,4 @@ def pytest_terminal_summary(terminalreporter, exitstatus):
terminalreporter,
"Use the following commands to re-run each test that had errors locally\n"
"(NOTE: The 'PYTHON' or 'PYTHONPATH' environment variables need values for accurate commands): ",
test_path, nodeids)
test_path, nodeids, build_dir)
@@ -126,6 +126,7 @@ def kill_processes_with_name_not_started_from(name, path):
else:
logger.warning(f"Path:'{path}' not found")
def kill_process_with_pid(pid, raise_on_missing=False):
"""
Kills the process with the specified pid
@@ -367,7 +368,10 @@ def _safe_kill_process_list(proc_list):
except Exception: # purposefully broad
logger.warning("Unexpected exception while terminating process", exc_info=True)
psutil.wait_procs(proc_list, timeout=30, callback=on_terminate)
try:
psutil.wait_procs(proc_list, timeout=30, callback=on_terminate)
except Exception: # purposefully broad
logger.warning("Unexpected exception while waiting for process to terminate", exc_info=True)
def _terminate_and_confirm_dead(proc):
@@ -220,7 +220,7 @@ def platform_enabled(workspace: pytest.fixture, platform: str) -> bool:
Checks to see if the platform specified is enabled for the current build of LY.
:param workspace: The current testing workspace
:param platform: The name of the platform to lookup. Example Platforms: 'Xenia', 'Provo', 'Salem'
:param platform: The name of the platform to lookup.
:return: True if the platform is enabled, False if not.
"""
user_settings_file = os.path.join(workspace.paths.dev(), "_WAF_", "user_settings.options")
+6 -1
View File
@@ -16,9 +16,10 @@ ly_add_pytest(
NAME LyTestTools_UnitTests
TEST_SUITE smoke
PATH ${CMAKE_CURRENT_LIST_DIR}/unit/
COMPONENT TestTools
)
if(PAL_TRAIT_BUILD_HOST_TOOLS AND PAL_TRAIT_BUILD_TESTS_SUPPORTED AND AutomatedTesting IN_LIST LY_PROJECTS)
if(PAL_TRAIT_BUILD_HOST_TOOLS AND PAL_TRAIT_BUILD_TESTS_SUPPORTED AND AutomatedTesting IN_LIST LY_PROJECTS_NAME)
# Integration tests.
ly_add_pytest(
NAME LyTestTools_IntegTests_Sanity_smoke_no_gpu
@@ -31,6 +32,7 @@ if(PAL_TRAIT_BUILD_HOST_TOOLS AND PAL_TRAIT_BUILD_TESTS_SUPPORTED AND AutomatedT
AutomatedTesting.GameLauncher
AutomatedTesting.Assets
Legacy::CryRenderNULL
COMPONENT TestTools
)
ly_add_pytest(
@@ -38,6 +40,7 @@ if(PAL_TRAIT_BUILD_HOST_TOOLS AND PAL_TRAIT_BUILD_TESTS_SUPPORTED AND AutomatedT
PATH ${CMAKE_CURRENT_LIST_DIR}/integ/test_process_utils.py
TEST_SERIAL
TEST_SUITE smoke
COMPONENT TestTools
)
ly_add_pytest(
@@ -50,6 +53,7 @@ if(PAL_TRAIT_BUILD_HOST_TOOLS AND PAL_TRAIT_BUILD_TESTS_SUPPORTED AND AutomatedT
AutomatedTesting.GameLauncher
AutomatedTesting.Assets
Legacy::CryRenderNULL
COMPONENT TestTools
)
# Regression tests.
@@ -64,5 +68,6 @@ if(PAL_TRAIT_BUILD_HOST_TOOLS AND PAL_TRAIT_BUILD_TESTS_SUPPORTED AND AutomatedT
AutomatedTesting.GameLauncher
AutomatedTesting.Assets
Legacy::CryRenderNULL
COMPONENT TestTools
)
endif()
@@ -49,7 +49,7 @@ class TestRerunCommand(object):
@mock.patch('ly_test_tools._internal.pytest_plugin.failed_test_rerun_command.WINDOWS', True)
@mock.patch('os.path.exists', mock.MagicMock(return_value=True))
def test_GetLauncherCommand_WindowsPythonInterpreter_WindowsPythonEntrypointReturned(self):
python_script = 'python3.cmd'
python_script = 'python.cmd'
expected = f"{os.path.join(TestRerunCommand.MOCK_FOO_EXE, python_script)} -m pytest "
under_test = failed_test_rerun_command._get_test_launcher_cmd()
@@ -59,7 +59,7 @@ class TestRerunCommand(object):
@mock.patch('ly_test_tools._internal.pytest_plugin.failed_test_rerun_command.WINDOWS', False)
@mock.patch('os.path.exists', mock.MagicMock(return_value=True))
def test_GetLauncherCommand_NonWindowsPythonInterpreter_NonWindowsPythonEntrypointReturned(self):
python_script = 'python3.sh'
python_script = 'python.sh'
expected = f"{os.path.join(TestRerunCommand.MOCK_FOO_EXE, python_script)} -m pytest "
under_test = failed_test_rerun_command._get_test_launcher_cmd()

Some files were not shown because too many files have changed in this diff Show More