¿Estás visitando desde Panamá?
Ingresá a Linware Panamá ⯈
Continuar en Linware Panamá ⯈
×
¿Qué estás buscando?
BUSCAR!
BLOG
Lanzamiento de la vista previa técnica del agente de Elastic APM iOS
Publicada el 27/09/2021

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:

  • URLSession
  • Uso de CPU y memoria
  • Conectividad de red
  • Atributos del dispositivo y la aplicación

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.swiftarchivo. 

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:

  • Solo es compatible con Swift (lo siento, ingenieros de Objective-C) 
  • Requiere Swift v5.3
  • Requiere el mínimo de iOS v11

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. 

Ir al Blog