Compartir a través de


SDK del Visualizador de simultaneidad

Puede instrumentar el código fuente mediante el uso del SDK del visualizador de simultaneidad para mostrar información adicional en el visualizador de simultaneidad. Puede asociar los datos adicionales a fases y eventos en el código. Estas visualizaciones adicionales se denominan marcadores. Para obtener un tutorial de introducción, consulte Introducción al SDK del visualizador de simultaneidad.

Propiedades

Las marcas, los intervalos y los mensajes tienen dos propiedades: categoría e importancia. En el cuadro de diálogo Configuración avanzada, puede utilizar estas propiedades para filtrar el conjunto de marcadores que se muestran. Además, estas propiedades afectan a la representación visual de los marcadores. Por ejemplo, el tamaño de las marcas se utiliza para representar la importancia. Además, el color se utiliza para indicar la categoría.

Uso básico

El visualizador de simultaneidad expone un proveedor predeterminado que se puede utilizar para generar marcadores. El proveedor ya está registrado con el visualizador de simultaneidad, y no es necesario hacer nada más para que los marcadores aparezcan en la interfaz de usuario.

C# y Visual Basic

En C#, Visual Basic y otro código administrado, use el proveedor predeterminado llamando a los métodos de la clase Marcadores. Expone cuatro métodos para generar marcadores: WriteFlag, EnterSpan, WriteMessage y WriteAlert. Existen varias sobrecargas de estas funciones, según si quiere utilizar valores predeterminados para las propiedades. La sobrecarga más simple toma solo un parámetro de cadena que especifica la descripción del evento. La descripción se muestra en los informes del visualizador de simultaneidad.

Para agregar compatibilidad con SDK a un proyecto de C# o Visual Basic
  1. En la barra de menús, elija Analizar, Visualizador de simultaneidad y Agregar SDK al proyecto.

  2. Seleccione el proyecto en el que desea tener acceso al SDK y, a continuación, elija el botón Agregar SDK al proyecto seleccionado.

  3. Agregue una instrucción imports o using al código.

    using Microsoft.ConcurrencyVisualizer.Instrumentation;
    

C++

En C++, cree un objeto marker_series (clase) y utilícelo para llamar a funciones. La clase marker_series expone tres funciones para generar marcadores: marker_series:: write_flag (método), marker_series:: write_message (método) y marker_series:: write_alert (método).

Para agregar compatibilidad con SDK a un proyecto de C++ o C
  1. En la barra de menús, elija Analizar, Visualizador de simultaneidad y Agregar SDK al proyecto.

  2. Seleccione el proyecto en el que desea tener acceso al SDK y, a continuación, elija el botón Agregar SDK al proyecto seleccionado.

  3. Para C++, incluya cvmarkersobj.h. Para C++, incluya cvmarkers.h.

  4. Agregue una instrucción using al código.

    using namespace Concurrency::diagnostic;
    
  5. Cree un objeto marker_series y páselo al constructor span.

    
    marker_series mySeries;
    span s(mySeries, _T("Span description"));
    
    

Uso personalizado

Para escenarios avanzados, el SDK del visualizador de simultaneidad muestra un mayor control. Dos conceptos principales están asociados a escenarios más avanzados: los proveedores de marcadores y las series de marcadores. Los proveedores de marcadores son proveedores ETW diferentes (cada uno tiene un GUID diferente). Las series de marcadores son canales en serie de eventos generados por un proveedor. Puede utilizarlas para organizar los eventos generados por un proveedor de marcadores.

Para utilizar un nuevo proveedor de marcadores en un proyecto de C# o Visual Basic

  1. Cree un objeto MarkerWriter. El constructor toma un GUID.

  2. Para registrar el proveedor, abra el cuadro de diálogo Configuración avanzada del visualizador de simultaneidad. Seleccione la pestaña Marcadores y, a continuación, elija el botón Agregar un nuevo proveedor. En el cuadro de diálogo Configuración avanzada, escriba el GUID que se utilizó para crear el proveedor y una descripción del proveedor.

Para utilizar un nuevo proveedor de marcadores en un proyecto de C++ o C

  1. Use la función CvInitProvider para inicializar un PCV_PROVIDER. El constructor toma un GUID* y PCV_PROVIDE*.

  2. Para registrar el proveedor, abra el cuadro de diálogo Configuración avanzada del visualizador de simultaneidad. Seleccione la pestaña Marcadores y, a continuación, elija el botón Agregar un nuevo proveedor. En este cuadro de diálogo, escriba el GUID que se utilizó para crear el proveedor y una descripción del proveedor.

Para usar una serie de marcadores en un proyecto de C# o Visual Basic

  1. Para usar un nuevo MarkerSeries, primero créelo mediante un objeto MarkerWriter y, después, genere eventos de marcador directamente desde la nueva serie.

    MarkerSeries series1 = myMarkerWriter.CreateMarkerSeries("Series 1");
    series1.WriteFlag("My flag");
    

Para usar una serie de marcadores en un proyecto de C++

  1. Crear un objeto marker_series. Puede generar eventos de esta nueva serie.

    marker_series series;
    series.write_flag(_T("Hello world!"));
    

Para usar una serie de marcadores en un proyecto de C

  1. Utilice la función CvCreateMarkerSeries para crear una PCV_MARKERSERIES.

    PCV_MARKERSERIES series;
    CvCreatemarkerSeries(myProvider, _T("My Series"), &series);
    CvWriteFlag(series, _T("Writing a flag"));
    

Vea también

Title Descripción
Referencia de la biblioteca C++ Describe la API del visualizador de simultaneidad de C++.
Referencia de la biblioteca C Describe la API del visualizador de simultaneidad de C.
Instrumentación Describe la API del visualizador de simultaneidad del código administrado.
Visualizador de simultaneidad Información de referencia para las vistas y los informes de archivos de datos de generación de perfiles generados mediante el método de simultaneidad y que incluyen datos de ejecución de subprocesos.