loisloriot
Hola,
Estoy tratando de comprender los datos exportados desde Power BI Performance Analyzer.
La pantalla GUI es bastante fácil de entender y el documento lo explica bien:
- consulta DAX – si se requería una consulta DAX, este es el tiempo entre el envío de la consulta por parte del objeto visual y el tiempo que tarda Analysis Services en devolver los resultados.
- Pantalla de visualización – el tiempo necesario para que el elemento visual se dibuje en la pantalla, incluido el tiempo necesario para recuperar cualquier imagen web o geocodificación.
- Otro – tiempo requerido por el objeto visual para preparar consultas, esperar a que se completen otros objetos visuales o realizar otro procesamiento en segundo plano.
Pero una vez que exporta los datos a un archivo JSON, obtiene una jerarquía/categorías muy diferentes y no puedo encontrar ninguna información al respecto.
Supongo que se parece a lo siguiente:
(de izquierda a derecha)
Acción del usuario | |||||
Ciclo de vida del contenedor visual | Hacer | Transformación de vista de datos | |||
Ciclo de vida del contenedor visual | Consulta | Generación de consultas | |||
Ciclo de vida del contenedor visual | Consulta | Ejecutar consulta semántica | Ejecutar consulta DAX | Ejecutar la solicitud | Serializar conjunto de filas |
Y:
Lienzo de informe | Acción del usuario |
Lienzo de informe | Ciclo de vida del contenedor visual |
Lienzo de informe | Hacer |
Lienzo de informe | Consulta |
Lienzo de informe | Transformación de vista de datos |
Lienzo de informe | Generación de consultas |
DSE | Ejecutar consulta semántica |
DSE | Ejecutar consulta DAX |
COMO | Ejecutar la solicitud |
COMO | Serializar conjunto de filas |
Después de probarlo y compararlo, supongo que la GUI consulta DAX es para el JSON Ejecutar consulta DAX y la GUI Pantalla de visualización es para Hacer pero no tengo ni idea del resto
¿Me estoy perdiendo de algo? ¿Sabes dónde puedo encontrar más información sobre los datos dentro del archivo JSON y quién los relaciona con la pantalla GUI?
Intenté comparar esto:
GUI del analizador de rendimiento
Con el JSON exportado:
{"version":"1.0.0","events":[{"name":"User Action","component":"Report Canvas","start":"2019-06-26T09:46:42.601Z","id":"ccdc8d42a77262a7c866","metrics":{"sourceLabel":"UserAction_Refresh"}},{"name":"Visual Container Lifecycle","component":"Report Canvas","start":"2019-06-26T09:46:42.605Z","end":"2019-06-26T09:46:42.689Z","id":"4f4ad20c7589b5410055","metrics":{"status":"finished","visualTitle":"Slicer"}},{"name":"Query","component":"Report Canvas","start":"2019-06-26T09:46:42.606Z","end":"2019-06-26T09:46:42.680Z","id":"ddeb60c0055ae5117113","parentId":"4f4ad20c7589b5410055"},{"name":"Render","component":"Report Canvas","start":"2019-06-26T09:46:42.679Z","end":"2019-06-26T09:46:42.689Z","id":"00c7257f7c270570e97a","parentId":"4f4ad20c7589b5410055"},{"name":"Data View Transform","component":"Report Canvas","start":"2019-06-26T09:46:42.683Z","end":"2019-06-26T09:46:42.684Z","id":"3d1f1275c5e60e2387d7","parentId":"00c7257f7c270570e97a"},{"name":"Query Generation","component":"Report Canvas","start":"2019-06-26T09:46:42.618Z","end":"2019-06-26T09:46:42.619Z","id":"aa1ee88180dc08d344d3","parentId":"ddeb60c0055ae5117113"},{"name":"Execute Semantic Query","component":"DSE","start":"2019-06-26T09:46:42.665Z","end":"2019-06-26T09:46:42.672Z","id":"5e13d473-6a2b-452b-9ca8-84c70e7fcdf4","parentId":"ddeb60c0055ae5117113"},{"name":"Execute DAX Query","component":"DSE","start":"2019-06-26T09:46:42.668Z","end":"2019-06-26T09:46:42.672Z","id":"af473852-aa88-4f43-b379-a841b2a8cee9","parentId":"5e13d473-6a2b-452b-9ca8-84c70e7fcdf4","metrics":{"QueryText":"EVALUATErn TOPN(101, VALUES('Sources'[Source file name]), 'Sources'[Source file name], 1)rnrnORDER BYrn 'Sources'[Source file name]","RowCount":8}},{"name":"Execute Query","component":"AS","start":"2019-06-26T09:46:42.670Z","end":"2019-06-26T09:46:42.670Z","id":"D8C45547-7EC0-43A1-B33B-2FABBED74ECC","parentId":"af473852-aa88-4f43-b379-a841b2a8cee9"},{"name":"Serialize Rowset","component":"AS","start":"2019-06-26T09:46:42.670Z","end":"2019-06-26T09:46:42.670Z","id":"A4D76E75-1320-49EC-919A-F9B2624AB3F2","parentId":"D8C45547-7EC0-43A1-B33B-2FABBED74ECC"},{"name":"Visual Container Lifecycle","component":"Report Canvas","start":"2019-06-26T09:46:42.607Z","end":"2019-06-26T09:46:42.702Z","id":"0e637d6ab00791aad5dc","metrics":{"status":"finished","visualTitle":"Average of Duration in second by Event component"}},{"name":"Query","component":"Report Canvas","start":"2019-06-26T09:46:42.607Z","end":"2019-06-26T09:46:42.695Z","id":"d328a2280ea702328479","parentId":"0e637d6ab00791aad5dc"},{"name":"Render","component":"Report Canvas","start":"2019-06-26T09:46:42.694Z","end":"2019-06-26T09:46:42.702Z","id":"463a184031590cbdd81b","parentId":"0e637d6ab00791aad5dc"},{"name":"Data View Transform","component":"Report Canvas","start":"2019-06-26T09:46:42.697Z","end":"2019-06-26T09:46:42.698Z","id":"6a9e1b677c169a6de00b","parentId":"463a184031590cbdd81b"},{"name":"Query Generation","component":"Report Canvas","start":"2019-06-26T09:46:42.619Z","end":"2019-06-26T09:46:42.621Z","id":"8b07662b3a29e8dc6800","parentId":"d328a2280ea702328479"},{"name":"Execute Semantic Query","component":"DSE","start":"2019-06-26T09:46:42.665Z","end":"2019-06-26T09:46:42.673Z","id":"73e37c36-c829-4f02-823b-fb73a2233178","parentId":"d328a2280ea702328479"},{"name":"Execute DAX Query","component":"DSE","start":"2019-06-26T09:46:42.668Z","end":"2019-06-26T09:46:42.673Z","id":"c8d980cf-0e50-447d-855a-43ce4efec94d","parentId":"73e37c36-c829-4f02-823b-fb73a2233178","metrics":{"QueryText":"EVALUATErn TOPN(rn 1002,rn SUMMARIZECOLUMNS(rn 'Attributes'[Event component],rn "AverageDuration_in_second", CALCULATE(AVERAGE('Attributes'[Duration in second]))rn ),rn [AverageDuration_in_second],rn 0,rn 'Attributes'[Event component],rn 1rn )rnrnORDER BYrn [AverageDuration_in_second] DESC, 'Attributes'[Event component]","RowCount":3}},{"name":"Execute Query","component":"AS","start":"2019-06-26T09:46:42.670Z","end":"2019-06-26T09:46:42.673Z","id":"3F0173F8-E264-4F12-BA89-D5F4970725E7","parentId":"c8d980cf-0e50-447d-855a-43ce4efec94d"},{"name":"Serialize Rowset","component":"AS","start":"2019-06-26T09:46:42.673Z","end":"2019-06-26T09:46:42.673Z","id":"63DEC83B-9498-44C8-AED8-42702CB81A8D","parentId":"3F0173F8-E264-4F12-BA89-D5F4970725E7"},{"name":"Visual Container Lifecycle","component":"Report Canvas","start":"2019-06-26T09:46:42.608Z","end":"2019-06-26T09:46:42.730Z","id":"28f4da8fd13884ebb507","metrics":{"status":"finished","visualTitle":"Average of Duration in second by Event name and Event component"}},{"name":"Query","component":"Report Canvas","start":"2019-06-26T09:46:42.608Z","end":"2019-06-26T09:46:42.716Z","id":"a65d5baf00d59810b06d","parentId":"28f4da8fd13884ebb507"},{"name":"Render","component":"Report Canvas","start":"2019-06-26T09:46:42.716Z","end":"2019-06-26T09:46:42.730Z","id":"36e8a808c4b70040268e","parentId":"28f4da8fd13884ebb507"},{"name":"Data View Transform","component":"Report Canvas","start":"2019-06-26T09:46:42.717Z","end":"2019-06-26T09:46:42.719Z","id":"db8658f0dd3873b18360","parentId":"36e8a808c4b70040268e"},{"name":"Query Generation","component":"Report Canvas","start":"2019-06-26T09:46:42.621Z","end":"2019-06-26T09:46:42.622Z","id":"61a0614382d084817bcd","parentId":"a65d5baf00d59810b06d"},{"name":"Execute Semantic Query","component":"DSE","start":"2019-06-26T09:46:42.665Z","end":"2019-06-26T09:46:42.682Z","id":"79d5cfec-127a-437b-b19e-d96d4f5acf3f","parentId":"a65d5baf00d59810b06d"},{"name":"Execute DAX Query","component":"DSE","start":"2019-06-26T09:46:42.669Z","end":"2019-06-26T09:46:42.681Z","id":"d4ea411c-c68f-4294-aaf6-3be4fa459d03","parentId":"79d5cfec-127a-437b-b19e-d96d4f5acf3f","metrics":{"QueryText":"DEFINErn VAR __DS0Core = rn SUMMARIZECOLUMNS(rn 'Attributes'[Event name],rn ROLLUPADDISSUBTOTAL('Attributes'[Event component], "IsGrandTotalColumnTotal"),rn "AverageDuration_in_second", CALCULATE(AVERAGE('Attributes'[Duration in second]))rn )rnrn VAR __DS0CoreOnlyOutputTotals = rn SELECTCOLUMNS(rn KEEPFILTERS(FILTER(KEEPFILTERS(__DS0Core), [IsGrandTotalColumnTotal] = FALSE)),rn "'Attributes'[Event name]", 'Attributes'[Event name],rn "'Attributes'[Event component]", 'Attributes'[Event component],rn "AverageDuration_in_second", [AverageDuration_in_second]rn )rnrn VAR __DS0CoreTableByDM0 = rn SELECTCOLUMNS(rn KEEPFILTERS(FILTER(KEEPFILTERS(__DS0Core), [IsGrandTotalColumnTotal] = TRUE)),rn "'Attributes'[Event name]", 'Attributes'[Event name],rn "SortBy_DM0_0", [AverageDuration_in_second]rn )rnrn VAR __DS0PrimaryWithSortColumns = rn NATURALLEFTOUTERJOIN(rn SUMMARIZE(__DS0Core, 'Attributes'[Event name]),rn __DS0CoreTableByDM0rn )rnrn VAR __DS0Primary = rn TOPN(201, __DS0PrimaryWithSortColumns, [SortBy_DM0_0], 0, 'Attributes'[Event name], 1)rnrn VAR __DS0Secondary = rn TOPN(rn 62,rn SUMMARIZE(__DS0CoreOnlyOutputTotals, 'Attributes'[Event component]),rn 'Attributes'[Event component],rn 1rn )rnrnEVALUATErn __DS0SecondaryrnrnORDER BYrn 'Attributes'[Event component]rnrnEVALUATErn NATURALLEFTOUTERJOIN(rn __DS0Primary,rn SUBSTITUTEWITHINDEX(rn __DS0CoreOnlyOutputTotals,rn "ColumnIndex",rn __DS0Secondary,rn 'Attributes'[Event component],rn ASCrn )rn )rnrnORDER BYrn [SortBy_DM0_0] DESC, 'Attributes'[Event name], [ColumnIndex]","RowCount":13}},{"name":"Execute Query","component":"AS","start":"2019-06-26T09:46:42.673Z","end":"2019-06-26T09:46:42.680Z","id":"F2CC4AED-5D83-4F64-9FD1-941B655DE695","parentId":"d4ea411c-c68f-4294-aaf6-3be4fa459d03"},{"name":"Serialize Rowset","component":"AS","start":"2019-06-26T09:46:42.680Z","end":"2019-06-26T09:46:42.680Z","id":"D55C90D9-7B48-4019-9856-2A472DBC0AE7","parentId":"F2CC4AED-5D83-4F64-9FD1-941B655DE695"}]}
No entiendo claramente cómo (según el ejemplo que proporcioné), venimos de:
DATOS DE LA GUI DEL ANALIZADOR DE RENDIMIENTO | |
Nombre | Duración (ms) |
dropdown | 84 |
consulta DAX | 4 |
Pantalla de visualización | 10 |
Otro | 70 |
a:
DATOS DEL ARCHIVO JSON | ||||
Mosaico visual métrico | Etiqueta de fuente de métrica | Componente | Nombre | Duración (ms) |
UserAction_Refresh | Lienzo de informe | Acción del usuario | / | |
dropdown | Lienzo de informe | Ciclo de vida del contenedor visual | 84 | |
Lienzo de informe | Hacer | 10 | ||
Lienzo de informe | Consulta | 74 | ||
Lienzo de informe | Transformación de vista de datos | 1 | ||
Lienzo de informe | Generación de consultas | 1 | ||
DSE | Ejecutar consulta semántica | 7 | ||
DSE | Ejecutar consulta DAX | 4 | ||
COMO | Ejecutar la solicitud | 0 | ||
COMO | Serializar conjunto de filas | 0 |
y también, dónde encontrar una definición de Lienzo de informe/DSE/AS/¿Visual Container Lifecycle y todos los demás?
¡Gracias!
lois
v-yuta-msft
@loisloriot,
Actualmente no hay ningún documento que pueda explicar todos los campos en el archivo json exportado. Le sugiero que envíe su idea aquí para que el equipo de power bi conozca sus requisitos.
Saludos,
jimmy tao
loisloriot
En respuesta a v-yuta-msft
Hola @v-yuta-msft,
Simplemente lo hizo:
https://ideas.powerbi.com/forums/265200-power-bi-ideas/suggestions/38054662-performance-analyzer-jso…
¡Gracias!
loisloriot
En respuesta a loisloriot
Hola @v-yuta-msft,
¡También agregué un comentario en MicrosoftDoc GitHub ya que está vinculado al documento de MSDN!
https://github.com/MicrosoftDocs/powerbi-docs/issues/1210
Saludos,
Lois