---
# System prepended metadata

title: Image Classification Visualization Framework

---

# Perfino JVM Profiler - Docker Image

Imagem Docker do **Perfino**, uma ferramenta de profiling e monitoramento de aplicações JVM desenvolvida pela ej-technologies.

## 📋 Pré-requisitos

- Docker instalado
- Arquivo `perfino_unix_4_2_0.tar.gz` no diretório do build

## 🏗️ Build da Imagem

### 1. Obter o instalador do Perfino

Baixe o arquivo `perfino_unix_4_2_0.tar.gz` do site oficial da ej-technologies e coloque-o no mesmo diretório do Dockerfile.

### 2. Build local

```bash
docker build -t perfino:4.2.0 .
```

### 3. Build com tag para Docker Hub

```bash
docker build -t infraws/perfino:4.2.0 .
```

## 🚀 Executar Localmente

### Execução básica

```bash
docker run -d \
  --name perfino \
  -p 8020:8020 \
  -p 8847:8847 \
  perfino:4.2.0
```

### Execução com volume persistente

```bash
docker run -d \
  --name perfino \
  -p 8020:8020 \
  -p 8847:8847 \
  -v perfino-data:/opt/perfino/perfino/data \
  perfino:4.2.0
```

### Acessar a interface web

Após iniciar o container, acesse: `http://localhost:8020`

## � Push para Docker Hub

Para disponibilizar a imagem no Docker Hub:

```bash
# Login no Docker Hub
docker login

# Push da imagem
docker push infraws/perfino:4.2.0
```

## 🔧 Configuração

### Portas Expostas

| Porta | Descrição                              |
|-------|----------------------------------------|
| 8020  | Interface web do Perfino               |
| 8847  | Porta de comunicação do profiler agent |

### Recursos de Memória

A imagem está configurada com os seguintes parâmetros de JVM:

- **Heap**: 1280 MB (`-Xmx1280m`)
- **Metaspace**: 256 MB (`-XX:MaxMetaspaceSize=256m`)
- **CodeCache**: 128 MB (`-XX:ReservedCodeCacheSize=128m`)
- **Total recomendado**: 2048 MB (2GB) para o container

### Volume de Dados

O diretório `/opt/perfino/perfino/data` deve ser montado como volume persistente para garantir que os dados de profiling não sejam perdidos ao reiniciar o container.

## 🐛 Troubleshooting

### Container não inicia

1. Verifique os logs: `docker logs perfino`
2. Confirme que o arquivo tar.gz está presente durante o build
3. Verifique as permissões do volume montado

### Sem acesso à interface web

1. Verifique se as portas estão corretamente mapeadas
2. Verifique o firewall local

### Problemas de memória

Se o container estiver com OOM (Out of Memory):
1. Aumente a memória do Docker
2. Ajuste os parâmetros de JVM no Dockerfile

## 📚 Documentação Adicional

- [Perfino Documentation](https://www.ej-technologies.com/resources/perfino/help/doc/)

## 📝 Notas

- A versão atual do Perfino configurada é **4.2.0**
- A imagem base utiliza **Eclipse Temurin JRE 21**

## 🔄 Atualizações

Para atualizar para uma nova versão do Perfino:

1. Atualize a variável `PERFINO_VERSION` no Dockerfile
2. Obtenha o novo arquivo tar.gz
3. Rebuilde a imagem com uma nova tag
4. Faça push da nova versão para o Docker Hub

---

**Última atualização:** Janeiro 2026