Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

199
Visualizações
Explicación de la estructura de la instantánea del montón de Chrome

Usando selenio, tomé una instantánea de la memoria de un sitio web con driver.execute_script(":takeHeapSnapshot") y extraje sus metadatos:

 { "snapshot": { "meta": { "node_fields": [ "type", "name", "id", "self_size", "edge_count", "trace_node_id", "detachedness" ], "node_types": [ ["hidden", "array", "string", "object", "code", "closure", "regexp", "number", "native", "synthetic", "concatenated string", "sliced string", "symbol", "bigint"], "string", "number", "number", "number", "number", "number" ], "edge_fields": [ "type", "name_or_index", "to_node" ], "edge_types": [ ["context", "element", "property", "internal", "hidden", "shortcut", "weak"], "string_or_number", "node" ], "trace_function_info_fields": [ "function_id", "name", "script_name", "script_id", "line", "column" ], "trace_node_fields": [ "id", "function_info_index", "count", "size", "children" ], "sample_fields": [ "timestamp_us", "last_assigned_id" ], "location_fields": [ "object_index", "script_id", "line", "column" ] }, "node_count": 6182075, "edge_count": 17793245, "trace_function_count": 0 } }

¿Alguien puede explicar, por favor, qué significa cada campo y cómo usar esa información para extraer datos? ¿Qué son los nodos, los bordes, los campos de ubicación, etc.? Como ejemplo, digamos que tengo un ArrayBuffer en el montón cuyo tamaño conozco (y es único) y quiero recuperar esta matriz. ¿Es posible hacerlo con la instantánea?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

El grupo de metacampos explica el contenido de las diferentes matrices de la instantánea.

La instantánea tiene la matriz de nodos. Esta matriz tiene 7 números para cada nodo en el montón y la matriz node_fields describe el significado de todos estos 7 números.

al mismo tiempo, la matriz node_types describe los tipos de estos 7 números. Por ejemplo, si tiene los siguientes 7 números en la matriz de nodos [ ....., 2, 9, 13, 42, 0, 0, 0, ......

luego el nodo N en el montón

  1. tiene una cadena de "tipo", porque node_types[0][2] == 'cadena',
  2. tiene "nombre" que está oculto en la matriz de cadenas del montón. es decir, cadenas[9],
  3. tiene "id" 13,
  4. utiliza 42 bytes del montón
  5. tiene 0 referencias a los otros objetos en el montón
  6. tiene "trace_node_id" = 0,
  7. tiene "desapego" = 0,

La matriz de bordes tiene un triplete de números para cada borde y puede ver los nombres de cada número en los campos de bordes y los tipos en la matriz de tipos de bordes. Por ejemplo, el triplete 2, 17, 79 en la matriz de bordes en el desplazamiento 0 significa:

  1. el borde es en realidad una propiedad de un objeto porque edge_types[0][2] = 'property'
  2. el nombre de la propiedad está oculto en la matriz de cadenas con el índice 17
  3. y apunta al nodo con id 79. (en realidad se me olvidó, es el índice del nodo o el id del nodo)
  4. si el primer nodo de la matriz de nodos tiene edge_count = 2, entonces los primeros 2 tripletes de la matriz de bordes son los bordes de este nodo a algunos otros nodos, etc.

Espero que esta explicación pueda darle alguna luz sobre cómo entender el contenido de la instantánea del montón.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda