Find

Announcement
· Oct 2, 2024

Global Masters 復活!(2024年10月3日から)

開発者の皆さん、こんにちは。

2024年4月26日より、新しいプラットフォームへの移行に伴い、グローバル・マスターズ・プログラムへのアクセスを一時的に停止しておりましたが、

🚀 本日(EST時間)より Global Masters プログラム 再開です!

10月3日(EST時間)、開発者コミュニティの全メンバーが新プラットフォームにアクセスできるリンクを共有する予定です。

このプログラムを皆様にお届けするため、私たちは懸命に取り組んできましたが、まだ未完成の段階ですので、荒削りな部分にお気づきの際はご容赦ください!

私たちは、最も価値のある機能:チャレンジ(現在は「Asks」と呼んでいますが...調整中のため、「チャレンジ」と表示されることもあります)、リワード、バッジ、を最初にお届けすることに重点を置いてきました。

 

まだ開発途中の機能もあります:

1. API統合: グローバル・マスターズ、開発者コミュニティ、Open Exchange、アイデアポータルの統合はまだ作業中です。 開始は10月末の予定です。 それまでの間、皆様の投稿を追跡しており、機能開始後にポイント残高を更新いたします。

2. レベル:  新しいプラットフォームはまだレベルをサポートしていませんが、できるだけ早くレベルを復活させるよう努力しています。

🎉 待ちに待った再開です!🎉

Discussion (0)1
Log in or sign up to continue
Announcement
· Oct 2, 2024

Building and Managing HL7 Integrations – IN PERSON October 21-25, 2024 / Registration space available

  • Building and Managing HL7 Integrations – In Person October 21-25, 2024 9:00am-5:00pm EDT
    • Build, configure, and manage HL7® V2 interfaces using InterSystems integration technologies.
    • This healthcare-focused 5-day course teaches implementation partners, integrators and analysts how to rapidly build HL7 integration solutions.
    • Students build a production that processes and routes HL7 messages.
    • Students learn how to work with the pre-built HL7 business services, business processes and business operations to receive and send HL7 messages.
    • Students also learn how to transform HL7 messages using graphical tools in the Management Portal.
    • This course teaches students how to monitor, manage, and troubleshoot Productions. Students also learn how to use the Management Portal for viewing, searching, and resending messages.
    • This course is applicable for users of InterSystems IRIS for Health, Ensemble, and HealthShare.
  • Self-Register Here
Discussion (0)1
Log in or sign up to continue
Announcement
· Oct 2, 2024

Le Global Masters est de retour ! Date de lancement : 3 octobre 2024

Bonjour à la communauté,

Global Masters nous a manqué, et nous sommes sûrs que vous aussi !

🚀 Global Masters sera relancé le 3 octobre 2024 !

Le 3 octobre, nous partagerons un lien permettant à tous les membres de la Communauté des développeurs d'accéder à la nouvelle plateforme. Ne manquez pas une anonce dédiée !

Nous avons travaillé dur pour vous proposer à nouveau le programme, mais soyez indulgents avec nous si vous remarquez des imperfections : il s'agit toujours d'un travail en cours ! Nous nous sommes concentrés sur la fourniture des fonctionnalités les plus utiles en premier : les défis (que nous appelons désormais « Demandes »... mais qui sont parfois encore des « défis » car nous nous adaptons tous !), les récompenses et les badges.

Certaines fonctionnalités sont encore en cours de développement :

1. Intégration API : l'intégration entre Global Masters, la Communauté des développeurs, Open Exchange et le Portail d'idées est toujours en cours. Le lancement est prévu pour fin octobre. En attendant, nous suivons vos contributions et mettrons à jour vos soldes de points une fois la fonctionnalité en ligne.

2. Niveaux : la nouvelle plateforme ne prend pas encore en charge les niveaux, mais nous travaillons dur pour les ramener dès que possible.

L'attente est terminée ! 🎉 Hourra !

Discussion (0)1
Log in or sign up to continue
Question
· Oct 2, 2024

Create a CVS file with escape sequence to highlight the word in red

Hi,

I try to create a tab delimiter file with bold header, when I convert the file into Microsoft Excel, it has a bold header.  The file can be in text or CSV exension.

Thank you.

Alan

4 Comments
Discussion (4)2
Log in or sign up to continue
Article
· Oct 2, 2024 4m read

eBPF: Parca - Perfilado Continuo para Cargas de Trabajo IRIS

Entonces, si estáis siguiendo desde la publicación anterior o si os incorporáis ahora, pasemos al mundo de las aplicaciones eBPF y echemos un vistazo a Parca. Este se basa en nuestra breve investigación sobre cuellos de botella en el rendimiento utilizando eBPF, pero añade una aplicación revolucionaria sobre vuestro clúster para monitorizar todas vuestras cargas de trabajo de IRIS de forma continua, ¡a nivel de todo el clúster!

Perfilado continuo con Parca, cargas de trabajo IRIS en todo el clúster

Parca

Parca toma su nombre del Programa para la Evaluación del Clima Regional Ártico (PARCA en inglés) y de la práctica del perfilado de núcleos de hielo que se ha realizado como parte de este para estudiar el cambio climático. Este proyecto de eBPF de código abierto tiene como objetivo reducir algunas emisiones de carbono producidas por el uso innecesario de recursos en los centros de datos. Podemos utilizarlo para obtener "más con menos" en cuanto al consumo de recursos y optimizar nuestras cargas de trabajo en la nube nativa que ejecutan IRIS.

Parca es un proyecto de perfilado continuo. El perfilado continuo es el acto de tomar perfiles (como CPU, memoria, I/O y más) de programas de manera sistemática. Parca recopila, almacena y pone los perfiles a disposición para ser consultados con el tiempo. Gracias a su bajo impacto, al utilizar eBPF, puede hacerlo sin afectar negativamente a vuestras cargas de trabajo objetivo.

Donde

Si pensabais que monitorizar un kernel que ejecuta múltiples namespaces del kernel de Linux era increíble en la última publicación, Parca consigue reunir todo eso en un solo lugar, con una **vista unificada** para todos los nodos (kernels) de un clúster.


 

Los dos componentes principales de Parca:

  • Parca: El servidor que almacena los datos de perfilado y permite consultarlos y analizarlos a lo largo del tiempo.
  • Parca Agent: Un perfilador de todo el sistema basado en eBPF que se ejecuta en los nodos.

Para entrar directamente en "Parca en acción", he configurado Parca en mi clúster con lo siguiente:

 kubectl create namespace parca
 kubectl apply -f https://github.com/parca-dev/parca/releases/download/v0.21.0/kubernetes-manifest.yaml
 kubectl apply -f https://github.com/parca-dev/parca-agent/releases/download/v0.31.1/kubernetes-manifest.yaml

El resultado es un **DaemonSet**, ejecutando el agente en los 10 nodos, con alrededor de 3-4 cargas de trabajo de IRIS distribuidas por todo el clúster.

Nota: ¡Parca también puede ejecutarse de forma independiente, no se requiere Kubernetes!

Perfiles

Ahora, sé que tengo un par de cargas de trabajo interesantes en este clúster. Una de ellas es una carga de trabajo FHIR que está atendiendo una solicitud GET en el endpoint /metadata para 3 pods en intervalos, para unos amigos a los que intento impresionar en una fiesta de eBPF. La otra es un pod 2024.2 que está ejecutando lo siguiente como un JOB:

Class EBPF.ParcaIRISPythonProfiling Extends %RegisteredObject
{

/// Do ##class(EBPF.ParcaIRISPythonProfiling).Run()
ClassMethod Run()
{
    While 1 {
            HANG 10
            Do ..TerribleCode()
            Do ..WorserCode()
            Do ..OkCode()
            zn "%SYS"
            do ##class(%SYS.System).WriteToConsoleLog("Parca Demo Fired")
            zn "PARCA"
    }
}

ClassMethod TerribleCode() [ Language = python ]
{

    import time
    def terrible_code():
        time.sleep(30)
        print("TerribleCode Fired...")
    terrible_code()
}

ClassMethod WorserCode() [ Language = python ]
{
    import time
    def worser_code():
        time.sleep(60)
        print("WorserCode Fired...")
    worser_code()
}

ClassMethod OkCode() [ Language = python ]
{

    import time
    def ok_code():
        time.sleep(1)
        print("OkCode Fired....")
    ok_code()
}

}

Ahora, he activado un servicio MetalLB en el servicio Parca y me he sumergido directamente en la consola. Echemos un vistazo a lo que podemos observar en las dos cargas de trabajo.

Ejecución Phyton

Así que no obtuve lo que quería de los resultados aquí, pero sí obtuve algunas pistas sobre cómo IRIS está manejando toda la integración con Python.

En Parca, restringí el análisis al pod en particular, lo sumé por el mismo criterio y seleccioné un período de tiempo razonable:

Y aquí está la prueba resultante:

Puedo ver que irisdb está realizando la ejecución de Python, trazas con ISCAgent, y a la derecha puedo observar básicamente el proceso de inicialización de IRIS en el contenedor. Para ser totalmente transparente, esperaba ver los métodos de Python, así que tengo que trabajar en eso, pero aprendí que pythoninit.so es la estrella del espectáculo de llamadas de Python.


FHIR Thinger

Ahora, este muestra algunas trazas desde una perspectiva del kernel que son relevantes para una carga de trabajo FHIR. A la izquierda, se pueden ver los hilos de Apache del servidor web que está levantando la API, y también se puede observar en las trazas de irisdb el desmarshalling de JSON.

Todo ello se genera desde un hilo mediante lo que se conoce como una fiesta `zu210fun`!

Ahora, echemos un vistazo a la misma carga de trabajo en Grafana, ya que Parca exporta a la observabilidad:


No es nada sorprendente, lo sé, pero el objetivo es realizar un perfilado distribuido de una aplicación IRIS con eBPF, de manera ligera, a través de todo un clúster... ¡con el único objetivo de no tener que pedirle nunca más a un cliente un informe de pButtons!

Discussion (0)1
Log in or sign up to continue