Se anuncio la versión preliminar del agente iOS de Elastic APM. Esta versión está destinada a obtener comentarios de la comunidad, a la vez que proporciona algunas funciones iniciales dentro de la pila de Elastic Observability y no está destinada al uso en producción. Ahora es su oportunidad de influir en la dirección de este nuevo agente de iOS y hacernos saber lo que piensa en nuestro foro de discusión. Si encuentra un problema o le gustaría contribuir usted mismo, visite el repositorio de GitHub .
Elastic APM es una solución de supervisión del rendimiento de aplicaciones de Elastic y, junto con el agente de iOS, hay agentes oficiales disponibles para Java , Node.js , Python , Ruby , JavaScript / RUM , .NET , PHP y Go . Elastic APM le ayuda a obtener información sobre el rendimiento de su aplicación, realizar un seguimiento de los errores y evaluar la experiencia del usuario final en el navegador.
Entraré en los detalles de la versión a continuación, pero si está listo para saltar a la documentación de inmediato, puede encontrarla en la documentación del agente de Elastic APM iOS .
Marcos compatibles
El agente de Elastic APM iOS se basa en el sdk opentelementry-swift . Esto significa que cualquier marco o biblioteca que esté instrumentado con Open Telemetry será capturado por el agente de Elastic APM iOS. Además, nuestro agente recogerá cualquier instrumentación OTel personalizada que agregue a su aplicación.
Inicialmente proporcionamos instrumentación automática de lo siguiente:
Nuestro objetivo principal es proporcionar información sobre sus servicios de backend desde la perspectiva de su aplicación móvil, mostrando automáticamente trazas distribuidas a partir de su aplicación móvil.
Descargando el agente
El agente se proporcionará inicialmente a través de Swift Package Manager . Se puede agregar a un proyecto de iOS a través del administrador de dependencias de Xcode SPM o mediante un Package.swift
archivo.
Simplemente agregue lo siguiente a sus dependencias Package.swift
dependencias : [ . paquete ( nombre : "apm-agente-ios" , url : "https://github.com/elastic/apm-agent-ios" , . rama ( “ v0 . 1.0 ")), n n…
Y agregue "iOSAgent" a los destinos que desea instrumentar:
. target ( n nombre : "MyLibrary" , n dependencias : [ . producto ( nombre : "iOSAgent" , paquete : "apm-agent-ios" ) ]), n n
La API del agente
Elastic APM iOS Agent tiene algunos requisitos de proyecto:
La API del agente es bastante reducida. Proporcionamos un objeto de configuración que permite configurar el agente para una solución local o en la nube.
Si está utilizando SwiftUI para crear su aplicación, puede configurar el agente de la siguiente manera:
struct MyApp : App { n init () { var config = AgentConfiguration () n config . collectorAddress = "127.0.0.1" n config . collectorPort = 8200 n config . collectorTLS = n configuración falsa . secretToken = "" Agente . empezar ( con : config ) } n n n
Obtenga más información sobre la configuración en el documento " Configurar el agente ".
El agente también captura los datos registrados a través de las API de OpenTelementry-Swift, incluidos los seguimientos y las métricas. A continuación, se muestra un ejemplo sobre cómo iniciar un seguimiento simple:
let instrumentationLibraryName = "SimpleExporter" let instrumentationLibraryVersion = "semver: 0.1.0" var instrumentationLibraryInfo = InstrumentationLibraryInfo ( nombre : instrumentationLibraryName , versión : instrumentationLibraryVersion ) var tracer = OpenTelemetrySDK . instancia . tracerProvider . get ( instrumentationName : instrumentationLibraryName , instrumentationVersion : n n n instrumentationLibraryVersion ) como ! TracerSdk nfunc simpleSpan () { dejar intervalo n Leer más.
Puede encontrar más ejemplos sobre cómo utilizar la API de OTel en los ejemplos de OpenTelementry-Swift .
Si decide seguir esta ruta, es posible que también deba agregar OpenTelemetry-Swift como una dependencia a su proyecto.
Resumen y futuro
Desde Elastic desean recibir sus comentarios en el foro de discusión o en el repositorio de GitHub. Tenga en cuenta que la versión actual es una vista previa y es posible que introduzcamos cambios importantes.