You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Otimizar o processamento dos logs de acesso do SciELO Data/Dataverse, especialmente em dias com grande volume de tráfego que será descartado durante a validação das métricas.
Em uma observação em homologação, foram encontrados os seguintes números:
2026-08-07: 532.918 linhas e aproximadamente 26,6 MB compactados; parsing concluído em cerca de 410 segundos;
2026-08-08: 4.516.513 linhas e aproximadamente 267 MB compactados;
a taxa permaneceu próxima de 1.300–1.400 linhas por segundo, indicando que a demora é predominantemente proporcional ao volume, e não evidência de uma regex patológica;
em 2026-08-07, 447.787 linhas chegaram à etapa de processamento, mas somente 3.997 foram consideradas válidas e 443.790 foram descartadas.
Atualmente, metrics.services.parsing.lines.process_line traduz a URL antes da validação do acesso. O tradutor Dataverse, fornecido por scielo_usage_counter, analisa repetidamente a mesma URL para extrair identificadores, tipo de conteúdo e formato de mídia. As expressões são compiladas e simples, mas várias buscas são executadas para cada linha, inclusive em tráfego que depois será descartado.
A implementação deve ser precedida por medição para identificar quanto tempo é consumido por leitura/descompressão, parsing da linha, tradução da URL, validação, geolocalização e acumulação. Qualquer descarte antecipado precisa preservar integralmente os acessos válidos segundo as regras COUNTER.
Subtarefas
Instrumentar ou criar um benchmark reproduzível para o pipeline de logs Dataverse, separando o custo das principais etapas.
Contabilizar os descartes por motivo, status HTTP e tipo de caminho, evitando armazenar dados pessoais ou linhas completas.
Identificar condições baratas e seguras para rejeitar tráfego inelegível antes da tradução completa da URL.
Avaliar o uso do status HTTP como filtro antecipado, confirmando previamente quais códigos representam acessos válidos.
Classificar o caminho da URL uma única vez e reutilizar o resultado na extração de identificadores, tipo de conteúdo e formato.
Evitar buscas regex repetidas sobre a mesma URL; quando aplicável, utilizar diretamente os métodos dos padrões compilados ou comparações de caminho mais simples.
Cobrir os caminhos /api/access/datafile/, /api/datasets/export, /api/datasets/, /dataset.xhtml e /file.xhtml.
Cobrir persistentId com variações de caixa e codificação URL.
Comparar o resultado antes e depois usando uma amostra representativa com alta taxa de descarte.
Caso a maior parte da mudança pertença ao scielo_usage_counter, abrir ou vincular a issue correspondente naquele projeto.
Critérios de aceitação
O conjunto de acessos válidos e as métricas produzidas permanecem equivalentes antes e depois da otimização.
Linhas inelegíveis deixam de executar trabalho desnecessário de tradução e extração sempre que isso puder ser determinado com segurança.
O benchmark demonstra redução mensurável no tempo de CPU para arquivos com alta proporção de descarte.
Os testes cobrem URLs válidas e inválidas, códigos HTTP relevantes e identificadores codificados.
O processamento continua utilizando o cache de metadados existente.
Considerações e notas
O arquivo de 2026-08-08 representa um pico excepcional de volume. A otimização não deve assumir que todos os dias do SciELO Data tenham esse tamanho, nem alterar regras funcionais apenas para acomodar esse caso.
Além da otimização, as métricas de descarte ajudarão a distinguir tráfego legítimo, robôs, erros HTTP e possíveis anomalias de origem.
Descrição da tarefa
Otimizar o processamento dos logs de acesso do SciELO Data/Dataverse, especialmente em dias com grande volume de tráfego que será descartado durante a validação das métricas.
Em uma observação em homologação, foram encontrados os seguintes números:
2026-08-07: 532.918 linhas e aproximadamente 26,6 MB compactados; parsing concluído em cerca de 410 segundos;2026-08-08: 4.516.513 linhas e aproximadamente 267 MB compactados;2026-08-07, 447.787 linhas chegaram à etapa de processamento, mas somente 3.997 foram consideradas válidas e 443.790 foram descartadas.Atualmente,
metrics.services.parsing.lines.process_linetraduz a URL antes da validação do acesso. O tradutor Dataverse, fornecido porscielo_usage_counter, analisa repetidamente a mesma URL para extrair identificadores, tipo de conteúdo e formato de mídia. As expressões são compiladas e simples, mas várias buscas são executadas para cada linha, inclusive em tráfego que depois será descartado.A implementação deve ser precedida por medição para identificar quanto tempo é consumido por leitura/descompressão, parsing da linha, tradução da URL, validação, geolocalização e acumulação. Qualquer descarte antecipado precisa preservar integralmente os acessos válidos segundo as regras COUNTER.
Subtarefas
/api/access/datafile/,/api/datasets/export,/api/datasets/,/dataset.xhtmle/file.xhtml.persistentIdcom variações de caixa e codificação URL.scielo_usage_counter, abrir ou vincular a issue correspondente naquele projeto.Critérios de aceitação
Considerações e notas
O arquivo de
2026-08-08representa um pico excepcional de volume. A otimização não deve assumir que todos os dias do SciELO Data tenham esse tamanho, nem alterar regras funcionais apenas para acomodar esse caso.Além da otimização, as métricas de descarte ajudarão a distinguir tráfego legítimo, robôs, erros HTTP e possíveis anomalias de origem.