28.4. Reference of supported JMX MBeans

MBeans exposed by Neo4j

NameDescription

Branched Store

Information about the branched stores present in this HA cluster member.

Configuration

The configuration parameters used to configure Neo4j.

Diagnostics

Diagnostics provided by Neo4j.

High Availability

Information about an instance participating in a HA cluster.

Index sampler

Handle index sampling.

Kernel

Information about the Neo4j kernel.

Locking

Information about the Neo4j lock status.

Memory Mapping

The status of Neo4j memory mapping.

Page cache

Information about the Neo4j page cache.

Primitive count

Estimates of the numbers of different kinds of Neo4j primitives.

Store file sizes

Information about the sizes of the different parts of the Neo4j graph store.

Transactions

Information about the Neo4j transaction manager.

[Note]Note

For additional information on the primitive datatypes (int, long etc.) used in the JMX attributes, please see Property value types in the section called “Properties”.

MBean Branched Store (org.neo4j.management.BranchedStore) Attributes

NameDescriptionTypeReadWrite

Information about the branched stores present in this HA cluster member

BranchedStores

A list of the branched stores

org.neo4j.management.BranchedStoreInfo[] as CompositeData[]

yes

no

MBean Configuration (org.neo4j.jmx.impl.ConfigurationBean) Attributes

NameDescriptionTypeReadWrite

The configuration parameters used to configure Neo4j

allow_store_upgrade

Whether to allow a store upgrade in case the current version of the database starts against an older store version. Setting this to true does not guarantee successful upgrade, it just allows an upgrade to be performed.

String

yes

no

array_block_size

Specifies the block size for storing arrays. This parameter is only honored when the store is created, otherwise it is ignored. The default block size is 120 bytes, and the overhead of each block is the same as for string blocks, i.e., 8 bytes.

String

yes

no

batch_inserter_batch_size

Specifies number of operations that batch inserter will try to group into one batch before flushing data into underlying storage.

String

yes

no

batched_writes

Whether or not transactions are appended to the log in batches

String

yes

no

cache_type

The type of cache to use for nodes and relationships. This configuration setting is no longer applicable from Neo4j 2.3. Configuration has been simplified to only require tuning of the page cache.

String

yes

no

cypher_parser_version

Set this to specify the default parser (language version).

String

yes

no

dbms.checkpoint.interval.time

Configures the time interval between check-points. The database will not check-point more often than this (unless check pointing is triggered by a different event), but might check-point less often than this interval, if performing a check-point takes longer time than the configured interval. A check-point is a point in the transaction logs, from which recovery would start from. Longer check-point intervals typically means that recovery will take longer to complete in case of a crash. On the other hand, a longer check-point interval can also reduce the I/O load that the database places on the system, as each check-point implies a flushing and forcing of all the store files. The default is 5m for a check-point every 5 minutes. Other supported units are s for seconds, and ms for milliseconds.

String

yes

no

dbms.checkpoint.interval.tx

Configures the transaction interval between check-points. The database will not check-point more often than this (unless check pointing is triggered by a different event), but might check-point less often than this interval, if performing a check-point takes longer time than the configured interval. A check-point is a point in the transaction logs, from which recovery would start from. Longer check-point intervals typically means that recovery will take longer to complete in case of a crash. On the other hand, a longer check-point interval can also reduce the I/O load that the database places on the system, as each check-point implies a flushing and forcing of all the store files. The default is 100000 for a check-point every 100000 transactions.

String

yes

no

dbms.cypher.compiler_tracing

Enable tracing of compilation in cypher.

String

yes

no

dbms.cypher.hints.error

Set this to specify the behavior when Cypher planner or runtime hints cannot be fulfilled. If true, then non-conformance will result in an error, otherwise only a warning is generated.

String

yes

no

dbms.cypher.planner

Set this to specify the default planner for the default language version.

String

yes

no

dbms.cypher.runtime

Set this to specify the default runtime for the default language version.

String

yes

no

dbms.pagecache.memory

The amount of memory to use for mapping the store files, in bytes (or kilobytes with the k suffix, megabytes with m and gigabytes with g). If Neo4j is running on a dedicated server, then it is generally recommended to leave about 2-4 gigabytes for the operating system, give the JVM enough heap to hold all your transaction state and query context, and then leave the rest for the page cache. The default page cache memory assumes the machine is dedicated to running Neo4j, and is heuristically set to 50% of RAM minus the max Java heap size.

String

yes

no

dbms.pagecache.pagesize

Target size for pages of mapped memory. If set to 0, then a reasonable default is chosen, depending on the storage device used.

String

yes

no

dbms.pagecache.swapper

Specify which page swapper to use for doing paged IO. This is only used when integrating with proprietary storage technology.

String

yes

no

dbms.querylog.enabled

Log executed queries that takes longer than the configured threshold. NOTE: This feature is only available in the Neo4j Enterprise Edition.

String

yes

no

dbms.querylog.filename

Log executed queries that take longer than the configured threshold

String

yes

no

dbms.querylog.max_archives

Maximum number of history files for the query log.

String

yes

no

dbms.querylog.rotation.threshold

Specifies at which file size the query log will auto-rotate. 0 means that no rotation will automatically occur based on file size.

String

yes

no

dbms.querylog.threshold

If the execution of query takes more time than this threshold, the query is logged - provided query logging is enabled. Defaults to 0 seconds, that is all queries are logged.

String

yes

no

dbms.security.ha_status_auth_enabled

Require authorization for access to the HA status endpoints.

String

yes

no

dense_node_threshold

Relationship count threshold for considering a node to be dense

String

yes

no

dump_configuration

Print out the effective Neo4j configuration after startup.

String

yes

no

edition

Configuration attribute

String

yes

no

ephemeral

Configuration attribute

String

yes

no

forced_kernel_id

An identifier that uniquely identifies this graph database instance within this JVM. Defaults to an auto-generated number depending on how many instance are started in this JVM.

String

yes

no

gc_monitor_threshold

The amount of time in ms the monitor thread has to be blocked before logging a message it was blocked.

String

yes

no

gc_monitor_wait_time

Amount of time in ms the GC monitor thread will wait before taking another measurement.

String

yes

no

ha.allow_init_cluster

Whether to allow this instance to create a cluster if unable to join.

String

yes

no

ha.branched_data_policy

Policy for how to handle branched data.

String

yes

no

ha.broadcast_timeout

Timeout for broadcasting values in cluster. Must consider end-to-end duration of Paxos algorithm. This value is the default value for the ha.join_timeout and ha.leave_timeout settings.

String

yes

no

ha.cluster_name

The name of a cluster.

String

yes

no

ha.cluster_server

Host and port to bind the cluster management communication.

String

yes

no

ha.com_chunk_size

Max size of the data chunks that flows between master and slaves in HA. Bigger size may increase throughput, but may also be more sensitive to variations in bandwidth, whereas lower size increases tolerance for bandwidth variations.

String

yes

no

ha.configuration_timeout

Timeout for waiting for configuration from an existing cluster member during cluster join.

String

yes

no

ha.default_timeout

Default timeout used for clustering timeouts. Override specific timeout settings with proper values if necessary. This value is the default value for the ha.heartbeat_interval, ha.paxos_timeout and ha.learn_timeout settings.

String

yes

no

ha.election_timeout

Timeout for waiting for other members to finish a role election. Defaults to ha.paxos_timeout.

String

yes

no

ha.heartbeat_interval

How often heartbeat messages should be sent. Defaults to ha.default_timeout.

String

yes

no

ha.heartbeat_timeout

Timeout for heartbeats between cluster members. Should be at least twice that of ha.heartbeat_interval.

String

yes

no

ha.initial_hosts

A comma-separated list of other members of the cluster to join.

String

yes

no

ha.internal_state_switch_timeout

Timeout for waiting for internal conditions during state switch, like for transactions to complete, before switching to master or slave.

String

yes

no

ha.join_timeout

Timeout for joining a cluster. Defaults to ha.broadcast_timeout.

String

yes

no

ha.learn_timeout

Timeout for learning values. Defaults to ha.default_timeout.

String

yes

no

ha.leave_timeout

Timeout for waiting for cluster leave to finish. Defaults to ha.broadcast_timeout.

String

yes

no

ha.lock_read_timeout

Timeout for taking remote (write) locks on slaves. Defaults to ha.read_timeout.

String

yes

no

ha.max_concurrent_channels_per_slave

Maximum number of connections a slave can have to the master.

String

yes

no

ha.paxos_timeout

Default timeout for all Paxos timeouts. Defaults to ha.default_timeout. This value is the default value for the ha.phase1_timeout, ha.phase2_timeout and ha.election_timeout settings.

String

yes

no

ha.phase1_timeout

Timeout for Paxos phase 1. Defaults to ha.paxos_timeout.

String

yes

no

ha.phase2_timeout

Timeout for Paxos phase 2. Defaults to ha.paxos_timeout.

String

yes

no

ha.pull_apply_batch_size

Size of batches of transactions applied on slaves when pulling from master

String

yes

no

ha.pull_interval

Interval of pulling updates from master.

String

yes

no

ha.read_timeout

How long a slave will wait for response from master before giving up.

String

yes

no

ha.server_id

Id for a cluster instance. Must be unique within the cluster.

String

yes

no

ha.server

Hostname and port to bind the HA server.

String

yes

no

ha.slave_only

Whether this instance should only participate as slave in cluster. If set to true, it will never be elected as master.

String

yes

no

ha.state_switch_timeout

Timeout for request threads waiting for instance to become master or slave.

String

yes

no

ha.tx_push_factor

The amount of slaves the master will ask to replicate a committed transaction.

String

yes

no

ha.tx_push_strategy

Push strategy of a transaction to a slave during commit.

String

yes

no

index_background_sampling_enabled

Enable or disable background index sampling

String

yes

no

index_sampling_buffer_size

Size of buffer used by index sampling

String

yes

no

index_sampling_update_percentage

Percentage of index updates of total index size required before sampling of a given index is triggered

String

yes

no

intercept_deserialized_transactions

Determines whether any TransactionInterceptors loaded will intercept externally received transactions (for example in HA) before they reach the logical log and are applied to the store.

String

yes

no

jmx.port

Configuration attribute

String

yes

no

keep_logical_logs

Make Neo4j keep the logical transaction logs for being able to backup the database. Can be used for specifying the threshold to prune logical logs after. For example "10 days" will prune logical logs that only contains transactions older than 10 days from the current time, or "100k txs" will keep the 100k latest transactions and prune any older transactions.

String

yes

no

label_block_size

Specifies the block size for storing labels exceeding in-lined space in node record. This parameter is only honored when the store is created, otherwise it is ignored. The default block size is 60 bytes, and the overhead of each block is the same as for string blocks, i.e., 8 bytes.

String

yes

no

log_mapped_memory_stats_filename

The file where memory mapping statistics will be recorded.

String

yes

no

log_mapped_memory_stats_interval

The number of records to be loaded between regular logging of memory mapping statistics.

String

yes

no

log_mapped_memory_stats

Log memory mapping statistics regularly.

String

yes

no

logical_log_rotation_threshold

Specifies at which file size the logical log will auto-rotate. 0 means that no rotation will automatically occur based on file size.

String

yes

no

neostore.nodestore.db.mapped_memory

The size to allocate for memory mapping the node store.

String

yes

no

neostore.propertystore.db.arrays.mapped_memory

The size to allocate for memory mapping the array property store.

String

yes

no

neostore.propertystore.db.index.keys.mapped_memory

The size to allocate for memory mapping the store for property key strings.

String

yes

no

neostore.propertystore.db.index.mapped_memory

The size to allocate for memory mapping the store for property key indexes.

String

yes

no

neostore.propertystore.db.mapped_memory

The size to allocate for memory mapping the property value store.

String

yes

no

neostore.propertystore.db.strings.mapped_memory

The size to allocate for memory mapping the string property store.

String

yes

no

neostore.relationshipstore.db.mapped_memory

The size to allocate for memory mapping the relationship store.

String

yes

no

node_auto_indexing

Controls the auto indexing feature for nodes. Setting it to false shuts it down, while true enables it by default for properties listed in the node_keys_indexable setting.

String

yes

no

node_keys_indexable

A list of property names (comma separated) that will be indexed by default. This applies to nodes only.

String

yes

no

online_backup_enabled

Enable support for running online backups

String

yes

no

online_backup_server

Listening server for online backups

String

yes

no

read_only

Only allow read operations from this Neo4j instance. This mode still requires write access to the directory for lock purposes.

String

yes

no

rebuild_idgenerators_fast

Use a quick approach for rebuilding the ID generators. This give quicker recovery time, but will limit the ability to reuse the space of deleted entities.

String

yes

no

relationship_auto_indexing

Controls the auto indexing feature for relationships. Setting it to false shuts it down, while true enables it by default for properties listed in the relationship_keys_indexable setting.

String

yes

no

relationship_grab_size

How many relationships to read at a time during iteration

String

yes

no

relationship_keys_indexable

A list of property names (comma separated) that will be indexed by default. This applies to relationships only.

String

yes

no

remote_shell_enabled

Enable a remote shell server which Neo4j Shell clients can log in to.

String

yes

no

remote_shell_host

Remote host for shell. By default, the shell server listens only on the loopback interface, but you can specify the IP address of any network interface or use 0.0.0.0 for all interfaces.

String

yes

no

remote_shell_name

The name of the shell.

String

yes

no

remote_shell_port

The port the shell will listen on.

String

yes

no

remote_shell_read_only

Read only mode. Will only allow read operations.

String

yes

no

store.internal_log.debug_contexts

Internal log contexts that should output debug level logging

String

yes

no

store.internal_log.level

Log level threshold.

String

yes

no

store.internal_log.location

The location of the internal diagnostics log.

String

yes

no

store.internal_log.max_archives

Maximum number of history files for the internal log.

String

yes

no

store.internal_log.rotation_delay

Minimum time interval after last rotation of the internal log before it may be rotated again.

String

yes

no

store.internal_log.rotation_threshold

Threshold for rotation of the internal log.

String

yes

no

store.interval.log.rotation

Maximum time interval for log rotation to wait for active transaction completion

String

yes

no

store_dir

The directory where the database files are located.

String

yes

no

string_block_size

Specifies the block size for storing strings. This parameter is only honored when the store is created, otherwise it is ignored. Note that each character in a string occupies two bytes, meaning that a block size of 120 (the default size) will hold a 60 character long string before overflowing into a second block. Also note that each block carries an overhead of 8 bytes. This means that if the block size is 120, the size of the stored records will be 128 bytes.

String

yes

no

transaction_start_timeout

The maximum amount of time to wait for the database to become available, when starting a new transaction.

String

yes

no

use_memory_mapped_buffers

Use memory mapped buffers for accessing the native storage layer.

String

yes

no

MBean Diagnostics (org.neo4j.management.Diagnostics) Attributes

NameDescriptionTypeReadWrite

Diagnostics provided by Neo4j

DiagnosticsProviders

A list of the ids for the registered diagnostics providers.

List (java.util.List)

yes

no

MBean Diagnostics (org.neo4j.management.Diagnostics) Operations

NameDescriptionReturnTypeSignature

dumpAll

Dump diagnostics information to JMX

String

(no parameters)

dumpToLog

Dump diagnostics information to the log.

void

(no parameters)

dumpToLog

Dump diagnostics information to the log.

void

java.lang.String

extract

Operation exposed for management

String

java.lang.String

MBean High Availability (org.neo4j.management.HighAvailability) Attributes

NameDescriptionTypeReadWrite

Information about an instance participating in a HA cluster

Alive

Whether this instance is alive or not

boolean

yes

no

Available

Whether this instance is available or not

boolean

yes

no

InstanceId

The identifier used to identify this server in the HA cluster

String

yes

no

InstancesInCluster

Information about all instances in this cluster

org.neo4j.management.ClusterMemberInfo[] as CompositeData[]

yes

no

LastCommittedTxId

The latest transaction id present in this instance’s store

long

yes

no

LastUpdateTime

The time when the data on this instance was last updated from the master

String

yes

no

Role

The role this instance has in the cluster

String

yes

no

MBean High Availability (org.neo4j.management.HighAvailability) Operations

NameDescriptionReturnTypeSignature

update

(If this is a slave) Update the database on this instance with the latest transactions from the master

String

(no parameters)

MBean Kernel (org.neo4j.jmx.Kernel) Attributes

NameDescriptionTypeReadWrite

Information about the Neo4j kernel

KernelStartTime

The time from which this Neo4j instance was in operational mode.

Date (java.util.Date)

yes

no

KernelVersion

The version of Neo4j

String

yes

no

MBeanQuery

An ObjectName that can be used as a query for getting all management beans for this Neo4j instance.

javax.management.ObjectName

yes

no

ReadOnly

Whether this is a read only instance

boolean

yes

no

StoreCreationDate

The time when this Neo4j graph store was created.

Date (java.util.Date)

yes

no

StoreDirectory

The location where the Neo4j store is located

String

yes

no

StoreId

An identifier that, together with store creation time, uniquely identifies this Neo4j graph store.

String

yes

no

StoreLogVersion

The current version of the Neo4j store logical log.

long

yes

no

MBean Locking (org.neo4j.management.LockManager) Attributes

NameDescriptionTypeReadWrite

Information about the Neo4j lock status

Locks

Information about all locks held by Neo4j

java.util.List<org.neo4j.kernel.info.LockInfo> as CompositeData[]

yes

no

NumberOfAvertedDeadlocks

The number of lock sequences that would have lead to a deadlock situation that Neo4j has detected and averted (by throwing DeadlockDetectedException).

long

yes

no

MBean Locking (org.neo4j.management.LockManager) Operations

NameDescriptionReturnTypeSignature

getContendedLocks

getContendedLocks

java.util.List<org.neo4j.kernel.info.LockInfo> as CompositeData[]

long

MBean Memory Mapping (org.neo4j.management.MemoryMapping) Attributes

NameDescriptionTypeReadWrite

The status of Neo4j memory mapping

MemoryPools

Get information about each pool of memory mapped regions from store files with memory mapping enabled

org.neo4j.management.WindowPoolInfo[] as CompositeData[]

yes

no

MBean Page cache (org.neo4j.management.PageCache) Attributes

NameDescriptionTypeReadWrite

Information about the Neo4j page cache

BytesRead

Number of bytes read from durable storage

long

yes

no

BytesWritten

Number of bytes written to durable storage

long

yes

no

EvictionExceptions

Number of exceptions caught during page eviction

long

yes

no

Evictions

Number of page evictions

long

yes

no

Faults

Number of page faults

long

yes

no

FileMappings

Number of files that have been mapped into the page cache

long

yes

no

FileUnmappings

Number of files that have been unmapped from the page cache

long

yes

no

Flushes

Number of page flushes

long

yes

no

Pins

Number of page pins

long

yes

no

Unpins

Number of page unpins

long

yes

no

MBean Primitive count (org.neo4j.jmx.Primitives) Attributes

NameDescriptionTypeReadWrite

Estimates of the numbers of different kinds of Neo4j primitives

NumberOfNodeIdsInUse

An estimation of the number of nodes used in this Neo4j instance

long

yes

no

NumberOfPropertyIdsInUse

An estimation of the number of properties used in this Neo4j instance

long

yes

no

NumberOfRelationshipIdsInUse

An estimation of the number of relationships used in this Neo4j instance

long

yes

no

NumberOfRelationshipTypeIdsInUse

The number of relationship types used in this Neo4j instance

long

yes

no

MBean Store file sizes (org.neo4j.jmx.StoreFile) Attributes

NameDescriptionTypeReadWrite

Information about the sizes of the different parts of the Neo4j graph store

ArrayStoreSize

The amount of disk space used to store array properties, in bytes.

long

yes

no

LogicalLogSize

The amount of disk space used by the current Neo4j logical log, in bytes.

long

yes

no

NodeStoreSize

The amount of disk space used to store nodes, in bytes.

long

yes

no

PropertyStoreSize

The amount of disk space used to store properties (excluding string values and array values), in bytes.

long

yes

no

RelationshipStoreSize

The amount of disk space used to store relationships, in bytes.

long

yes

no

StringStoreSize

The amount of disk space used to store string properties, in bytes.

long

yes

no

TotalStoreSize

The total disk space used by this Neo4j instance, in bytes.

long

yes

no

MBean Transactions (org.neo4j.management.TransactionManager) Attributes

NameDescriptionTypeReadWrite

Information about the Neo4j transaction manager

LastCommittedTxId

The id of the latest committed transaction

long

yes

no

NumberOfCommittedTransactions

The total number of committed transactions

long

yes

no

NumberOfOpenedTransactions

The total number started transactions

long

yes

no

NumberOfOpenTransactions

The number of currently open transactions

long

yes

no

NumberOfRolledBackTransactions

The total number of rolled back transactions

long

yes

no

PeakNumberOfConcurrentTransactions

The highest number of transactions ever opened concurrently

long

yes

no

MBean Index sampler (org.neo4j.management.IndexSamplingManager) Operations

NameDescriptionReturnTypeSignature

triggerIndexSampling

triggerIndexSampling

void

java.lang.String,java.lang.String,boolean