POLITICA DE COOKIES

Q2BSTUDIO.COM utiliza cookies técnicas, analíticas, de sesión y de publicidad con la finalidad de prestar un mejor servicio. No obstante, necesitamos su consentimiento explícito para poder utilizarlas. Así mismo puede cambiar la configuración de las cookies u obtener más información aquí .

Cómo usar Aspire Dashboard con una aplicación WinForms legada

## Cómo usar Aspire Dashboard con una aplicación WinForms legada

Publicado el 18/08/2025

Introducción

Si tienes una aplicación legacy basada en Windows Forms WinForms y quieres añadir observabilidad moderna este artículo explica cómo integrar trazas OpenTelemetry en .NET Framework y enviarlas al Aspire Dashboard de .NET usando únicamente un contenedor Docker ligero y unas pocas líneas de código. OpenTelemetry aporta una forma neutral de proveedor para capturar telemetría y el Aspire Dashboard ofrece una interfaz limpia para inspeccionar trazas de forma local, ideal para aplicaciones de escritorio antiguas.

Por qué usar Aspire Dashboard con aplicaciones legacy

Las plataformas de observabilidad modernas a veces parecen inalcanzables para aplicaciones de escritorio antiguas. Aspire Dashboard permite ver trazas localmente sin necesidad de infraestructuras complejas y facilita el diagnóstico. Combinado con OpenTelemetry puedes instrumentar el código de forma portable y abrir la puerta a servicios avanzados como ingesta en la nube o integración con pipelines de observabilidad en AWS y Azure.

Retos principales

Los dos retos principales son configurar OpenTelemetry y Aspire Dashboard para funcionar con .NET Framework 4.7.2 y añadir trazas de forma manual ya que la auto instrumentación no está disponible para aplicaciones de escritorio. En mi prototipo disponible en https://github.com/VolkmarR/OTEL-Traces-Winforms-Aspire se muestran soluciones prácticas a ambos problemas.

Configuración del Aspire Dashboard

El repositorio incluye un archivo docker compose con la configuración necesaria para levantar el Aspire Dashboard. Como el protocolo gRPC no es compatible con .NET Framework 4.7.2 es importante exponer la mapping de puertos 4318:18890 para usar el protocolo HttpProtobuf. De este modo el agente que corre en Docker recibirá trazas vía http en el endpoint https://localhost:4318/v1/traces y las mostrará en la interfaz local.

Configuración de la aplicación

Agrega el paquete nuget OpenTelemetry.Exporter.OpenTelemetryProtocol a la aplicación WinForms. Crea una utilidad de inicialización que instancie un ActivitySource para tu aplicación, configure el TracerProvider con AddOtlpExporter estableciendo protocolo en HttpProtobuf y endpoint en https://localhost:4318/v1/traces y defina el ResourceBuilder con el nombre de servicio y versión. Invoca este setup desde program.cs solo en entornos de desarrollo local y no en producción.

Instrumentación manual

Al no disponer de auto instrumentación hay que añadir spans manualmente en el código. Una buena práctica es instrumentar métodos de la capa base que realicen operaciones relevantes y con cierta duración, como ejecución de sentencias SQL o llamadas HTTP. En el flujo recomendado se crean actividades root cuando el usuario inicia una acción por ejemplo al pulsar un botón y dentro de esa actividad root se crean actividades hijas para operaciones concretas como Execute. Añade etiquetas a las actividades para capturar metadatos útiles por ejemplo una etiqueta custom.sql con la consulta ejecutada. Asegúrate de iniciar actividades hijas solo si existe una actividad padre Current para mantener una jerarquía limpia.

Ejemplo de flujo

En un evento de interfaz de usuario como LoadButton Click inicia una actividad root usando el ActivitySource y dentro de ese using llama a métodos que ejecutan queries. En cada ejecución de query crea una actividad hija solo si Activity Current no es nulo añade tags con información relevante y cierra la actividad al finalizar. Este patrón mantiene las trazas legibles y evita crear spans sin contexto.

Resumen técnico

Estos son los pasos clave para llevar trazas OpenTelemetry desde una aplicación WinForms legacy al Aspire Dashboard ejecutar el contenedor Docker con el mapeo de puertos 4318:18890 instalar OpenTelemetry.Exporter.OpenTelemetryProtocol configurar el TracerProvider con protocolo HttpProtobuf y endpoint https://localhost:4318/v1/traces definir un ActivitySource y añadir trazas manuales en métodos relevantes del código. El repositorio de ejemplo contiene un prototipo funcional que demuestra todo lo anterior.

Sobre Q2BSTUDIO

En Q2BSTUDIO somos una empresa de desarrollo de software y aplicaciones a medida especializada en soluciones modernas para empresas incluyendo inteligencia artificial, ciberseguridad y servicios cloud AWS y Azure. Ofrecemos software a medida, servicios de inteligencia de negocio e implementaciones de Power BI para transformar datos en decisiones, así como soluciones de ia para empresas incluyendo agentes IA personalizados. Nuestro equipo integra buenas prácticas de observabilidad y trazabilidad para facilitar mantenibilidad y seguridad en aplicaciones legacy y nuevas aplicaciones. Si necesitas migrar capacidades de monitoreo a aplicaciones desktop o quieres incorporar inteligencia artificial y ciberseguridad en tus soluciones a medida en la nube, Q2BSTUDIO puede ayudarte.

Servicios destacados

Aplicaciones a medida software a medida inteligencia artificial ciberseguridad servicios cloud aws y azure servicios inteligencia de negocio ia para empresas agentes IA power bi. Contacta a Q2BSTUDIO para evaluar tu caso y diseñar una hoja de ruta que incluya observabilidad con OpenTelemetry, integración con Aspire Dashboard y despliegue en entornos cloud AWS o Azure.

Enlaces útiles

Repositorio de ejemplo https://github.com/VolkmarR/OTEL-Traces-Winforms-Aspire y documentación oficial de OpenTelemetry para .NET. Para proyectos a medida y consultoría en inteligencia artificial agentes IA y power bi contacta a Q2BSTUDIO.

Fin del artículo, inicio de la diversión
Construyendo software juntos

Dando vida a tus ideas desde 2008

Diseñamos aplicaciones móviles y de escritorio innovadoras que cumplen con tus requisitos específicos y mejoran la eficiencia operativa.
Más info
Cuéntanos tu visión
Sea cual sea el alcance, podemos convertir tu idea en realidad. Envíanosla y charlemos sobre tu proyecto o una colaboración futura.
Contáctanos
artículos destacados
Live Chat
Enviado correctamente.

Gracias por confiar en Q2BStudio