Se você buscou IBM Thread and Monitor Dump Analyzer — TMDA, ou só jca.jar — está olhando para uma das ferramentas mais longevas da caixa de troubleshooting Java. Ela lê javacores de WebSphere desde antes de "observabilidade" ser palavra, é gratuita, e continua funcionando. Este comparativo não vai fingir o contrário. A pergunta honesta é o que mudou em volta dela: quanto da leitura você quer fazer na mão, no seu desktop — e quanto você quer detectado, pontuado e explicado por você.
Resumo em 30 segundos
- Escolha o IBM TMDA se os seus dumps não podem sair da máquina, você vive no mundo IBM J9/OpenJ9 (WebSphere, Liberty) e se sente confortável dirigindo a análise você mesmo num app desktop local. É gratuito e testado em batalha.
- Escolha o ThreadMine se você quer o dump diagnosticado em vez de exibido: detecção automática de deadlock, pool exhaustion, thread leak e pinning de virtual threads, um health score A–F, hipóteses de causa raiz por IA e uma timeline de vários dumps — no navegador, sem instalação, grátis para começar e planos a partir de US$ 9/mês.
- Terreno comum: os dois entendem javacores IBM, os dois detectam deadlocks, e os dois custam nada para experimentar.
O que é o TMDA (e onde baixar)
O TMDA é uma ferramenta desktop gratuita da IBM, distribuída no site de suporte da IBM como um único jar. Você roda localmente — java -jar jca.jar —, abre seus arquivos de javacore ou thread dump, e ele entrega contagens de estado de thread, análise de monitores e locks, detecção de deadlock e uma visão de comparação entre vários dumps. Nada é enviado a lugar nenhum: a análise acontece inteira na sua máquina, o que para alguns times é o requisito que encerra a escolha.
Os trade-offs são os que você imaginaria de um veterano desktop: precisa de Java local e do jar em cada máquina onde se analisa, a interface mostra dados organizados mais do que diz conclusões, e não há camada de histórico, compartilhamento ou time — dump analisado é janela fechada.
Comparativo lado a lado
Levantamento feito em julho/2026 contra o comportamento documentado publicamente do TMDA. Se algo mudou, a própria ferramenta é a fonte da verdade — esta tabela é um retrato do momento.
| ThreadMine | IBM TMDA | |
|---|---|---|
| Preço | Grátis sem cadastro; Pro US$ 9/mês | Grátis (ferramenta as-is da IBM) |
| Onde roda | No navegador — dump analisado no servidor | App desktop local (java -jar jca.jar) |
| Instalação | Nada a instalar | Download do jar + Java local |
| Formatos | HotSpot, javacore IBM J9/OpenJ9, Zing, GraalVM | javacore IBM J9/OpenJ9 (o quintal dele) |
| Detecção de deadlock | Sim — automática, com cadeia e evidência | Sim |
| Pool exhaustion / thread leak / pinning de VT | Detectores automáticos ranqueados | — (contagens de estado e leitura manual) |
| Health score | Nota A–F com detalhamento | — |
| IA no diagnóstico | Vein: hipóteses ranqueadas + runbook | — |
| Vários dumps | Timeline com ponto de degradação automático | Visão de comparação lado a lado (manual) |
| Histórico / time / share | Sim, a partir do Free/Pro | — (arquivos locais) |
Javacores e OpenJ9: o quintal do TMDA
Se a sua stack produz arquivos javacore.*.txt — WebSphere, Liberty, qualquer coisa na JVM IBM J9/OpenJ9 —, o TMDA foi construído exatamente para esse formato, e décadas de incidentes de WebSphere foram debugados com ele. Essa herança é real e merece respeito.
Ela também já não é um diferencial sozinha: o parser do ThreadMine identifica o formato automaticamente e lê os mesmos javacores (junto com dumps HotSpot, Zing e GraalVM) sem flag nem conversão. A pergunta não é se o seu javacore pode ser lido — os dois leem —, e sim o que acontece depois: uma janela de contagens organizadas no seu desktop, ou detectores, nota e hipóteses no navegador.
Ler contagens vs. achados ranqueados
A saída do TMDA é matéria-prima honesta e estruturada: quantas threads em cada estado, quais monitores estão presos, onde existe um deadlock. Um olho experiente transforma isso em diagnóstico — a ferramenta assiste, você conclui. Às 3h da manhã, com 800 threads e um sintoma vago, a diferença entre assistir e concluir é a noite inteira.
O ThreadMine roda um conjunto de detectores sobre o dump parseado e nomeia os problemas: cadeias de deadlock, pontos quentes de contenção de lock, pool exhaustion, thread leaks, starvation e pinning de virtual threads (a partir de um dump padrão de Java 21+, sem a flag -Djdk.tracePinnedThreads). Cada achado vem ranqueado, com a evidência e as threads envolvidas, e o snapshot inteiro ganha um health score A–F. Em cima disso, o Vein — a IA embutida — propõe hipóteses de causa raiz ranqueadas por confiança, cada uma ancorada em evidência do próprio dump, com um runbook de próximos passos. Se quiser ver o que esse engine procura, o guia do analisador de thread dump percorre isso.
Vários dumps: lado a lado vs. timeline
As duas ferramentas entendem que um dump raramente basta. O TMDA permite abrir vários javacores e compará-los lado a lado — você mesmo enxerga as transições, o que funciona bem para um punhado de dumps e um olho treinado. O ThreadMine costura N dumps numa timeline e marca o ponto de inflexão automaticamente — o momento em que o pool começou a saturar ou as BLOCKED dispararam — para a tendência falar mesmo quando você ainda não sabe o que procura. Mesma disciplina (colete 3+ dumps com segundos de intervalo, como coberto em como capturar um thread dump), quantidades diferentes de trabalho entre você e a resposta.
E o TDA, o velho Thread Dump Analyzer?
Buscas por "TDA" geralmente querem dizer o outro veterano desktop: o Thread Dump Analyzer, a ferramenta Swing da era java.net focada em dumps HotSpot. Ele pertence à mesma família do TMDA — local, manual, gratuito — com uma ressalva prática: o desenvolvimento está dormente há anos, então recursos como virtual threads simplesmente vieram depois dele. Se você está na stack IBM, o TMDA é a melhor escolha desktop entre os dois; se chegou aqui procurando um substituto do TDA com detecção embutida, essa é exatamente a lacuna que o ThreadMine preenche — e o trade-off honesto de privacidade de qualquer ferramenta hospedada é o mesmo discutido no nosso comparativo com o jstack.review.
Quando o TMDA já basta
- O dump não pode sair da máquina. O TMDA roda 100% local. Se a política diz "sem uploads", esse requisito decide — e é um requisito legítimo.
- Você é o veterano de WebSphere. Se lê javacores há anos e sabe exatamente quais contagens conferir, o TMDA assiste um fluxo que você já domina.
- Uso ocasional e offline. Um dump a cada poucos meses, numa máquina que já tem Java — baixar um jar ganha de adotar qualquer coisa.
Se nada disso descreve o seu momento — você quer o dump diagnosticado em vez de exibido, uma nota em vez de contagens, ou vários dumps lidos como tendência com o time olhando o mesmo link — esse é o trabalho para o qual o ThreadMine foi feito.
Como testar os dois
O teste honesto custa dez minutos e os dumps de um incidente. Baixe o TMDA na página de suporte da IBM e abra o seu javacore localmente. Depois cole o mesmo arquivo no analisador de thread dump online grátis — o primeiro dump não pede cadastro — e compare o que cada um devolve: contagens organizadas de um lado; problemas detectados, health score e hipóteses ranqueadas do outro. Os planos vão de um free tier real a US$ 9 (Pro) / US$ 29 (Team) por mês quando você quer histórico e workspaces de time.
Perguntas frequentes
Onde baixo o IBM TMDA?
No site de suporte da IBM — busque por "IBM Thread and Monitor Dump Analyzer for Java (TMDA)". Ele é distribuído como um único jar (jca.jar, historicamente também jca<versão>.jar) e roda localmente com "java -jar jca.jar", então você precisa de um runtime Java na máquina. É gratuito.
O TMDA detecta deadlocks?
Sim. O TMDA analisa monitores e reporta deadlocks que encontra, junto com contagens de estado de thread e detalhes de lock — é uma ferramenta genuinamente capaz, não um brinquedo. A diferença é o fluxo em volta do achado: o TMDA é um app desktop local que você dirige na mão, enquanto o ThreadMine roda um conjunto de detectores automaticamente e devolve achados ranqueados com evidência, um health score e hipóteses de IA — no navegador, sem instalar nada.
O ThreadMine lê javacores IBM/OpenJ9?
Sim. O parser do ThreadMine identifica o formato automaticamente e lê thread dumps HotSpot, javacores IBM J9/OpenJ9, e dumps de Zing e GraalVM — sem flag nem conversão. Cole o javacore e os mesmos detectores, score e timeline se aplicam.
O TMDA é gratuito? E o ThreadMine?
O TMDA é gratuito — uma ferramenta as-is da IBM. O ThreadMine é gratuito para começar: o primeiro dump não pede cadastro, o plano Free dá análises diárias com histórico, e os planos pagos começam em US$ 9/mês (Pro) quando você quer mais volume, IA e workspaces de time.
Quer ver tudo isso aplicado ao seu dump?
Faça upload e tenha health score, problemas detectados e sugestões em segundos. Sem cadastro para o primeiro dump.