summaryrefslogtreecommitdiffstats
path: root/fluent-bit/tests/runtime/data
diff options
context:
space:
mode:
Diffstat (limited to 'fluent-bit/tests/runtime/data')
-rwxr-xr-xfluent-bit/tests/runtime/data/common/json_invalid.h6
-rwxr-xr-xfluent-bit/tests/runtime/data/common/json_long.h1006
-rwxr-xr-xfluent-bit/tests/runtime/data/common/json_small.h256
l---------fluent-bit/tests/runtime/data/common/parsers.conf1
-rw-r--r--fluent-bit/tests/runtime/data/datadog/json.h12
-rwxr-xr-xfluent-bit/tests/runtime/data/es/json_es.h17
-rw-r--r--fluent-bit/tests/runtime/data/in_elasticsearch/json_bulk.h25
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_default_text.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_invalid_text.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-1_container-1.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-1_container-2.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-1_container-3.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-1_container-4.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-2_container-1.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-2_container-2.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-2_container-3.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-2_container-4.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-3_container-1.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-3_container-2.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-3_container-3.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-3_container-4.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-4_container-1.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-4_container-2.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-4_container-3.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-4_container-4.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_stderr_text.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_stdout_text.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_invalid_text.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_json-with-time_invalid-json-1.log1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_json-with-time_json.log1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-1_container-1.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-1_container-2.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-1_container-3.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-1_container-4.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-1_container-5.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-2_container-1.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-2_container-2.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-2_container-3.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-2_container-4.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-2_container-5.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_regex-with-time_invalid-text-1.log1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_regex-with-time_text.log1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_stderr_text.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_stdout_text.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/annotations/annotations_invalid_text.log1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/core/core_base_fluent-bit.log1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/core/core_no-meta_text.log1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/core/core_unescaping_json.log1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/core/core_unescaping_text.log1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/options/options_k8s-logging-exclude-disabled_text.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/options/options_k8s-logging-parser-disabled_text.log2
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/options/options_keep-log-disabled_json.log1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/options/options_keep-log-enabled_json.log1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-disabled_json.log1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-enabled_invalid-json.log1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-enabled_json.log1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-enabled_text.log1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-key_json.log1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-trim-disabled_json.log1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-trim-enabled_json.log1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/options/options_use-kubelet-disabled_fluent-bit.log1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/log/options/options_use-kubelet-enabled_fluent-bit.log1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_default.meta7
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_invalid.meta7
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_multiple-1.meta9
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_multiple-2.meta10
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_multiple-3.meta11
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_multiple-4.meta11
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_stderr.meta7
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_stdout.meta7
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_invalid.meta7
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_json-with-time.meta7
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_json-without-time.meta7
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_multiple-1.meta12
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_multiple-2.meta13
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_regex-with-time.meta7
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_regex-without-time.meta7
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_stderr.meta7
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_stdout.meta7
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/annotations_invalid.meta12
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/core_base.meta116
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/core_no-meta.meta1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/core_unescaping.meta4
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/default_kairosdb-914055854-b63vq.meta155
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/options_k8s-logging-exclude-disabled.meta7
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/options_k8s-logging-parser-disabled.meta7
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/options_keep-log-disabled.meta4
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/options_keep-log-enabled.meta4
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/options_merge-log-disabled.meta4
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/options_merge-log-enabled.meta4
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/options_merge-log-key.meta4
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/options_merge-log-trim-disabled.meta4
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/options_merge-log-trim-enabled.meta4
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/options_use-kubelet-disabled.meta116
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/meta/options_use-kubelet-enabled.meta109
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_invalid_text_stderr.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_invalid_text_stdout.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-1_container-2_stderr.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-1_container-3_stdout.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-1_container-4_stderr.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-1_container-4_stdout.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-2_container-2_stderr.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-2_container-3_stdout.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-2_container-4_stderr.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-2_container-4_stdout.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-3_container-2_stderr.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-3_container-3_stdout.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-3_container-4_stderr.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-3_container-4_stdout.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-4_container-2_stderr.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-4_container-3_stdout.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-4_container-4_stderr.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-4_container-4_stdout.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_stderr_text_stdout.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_stdout_text_stderr.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_invalid_text_stderr.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_invalid_text_stdout.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_json-with-time_invalid-json-1.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_json-with-time_json.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-1_stderr.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-1_stdout.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-2_stderr.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-2_stdout.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-3_stderr.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-3_stdout.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-4_stderr.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-4_stdout.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-5_stderr.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-5_stdout.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-1_stderr.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-1_stdout.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-2_stderr.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-2_stdout.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-3_stderr.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-3_stdout.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-4_stderr.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-4_stdout.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-5_stderr.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-5_stdout.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_regex-with-time_invalid-text-1.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_regex-with-time_text.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_stderr_text_stderr.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_stderr_text_stdout.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_stdout_text_stderr.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_stdout_text_stdout.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/annotations/annotations_invalid_text.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/core/core_base_fluent-bit.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/core/core_no-meta_text.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/core/core_unescaping_json.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/core/core_unescaping_text.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/kairosdb-914055854-b63vq.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/options/options_k8s-logging-exclude-disabled_text_stderr.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/options/options_k8s-logging-exclude-disabled_text_stdout.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/options/options_k8s-logging-parser-disabled_text_stderr.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/options/options_k8s-logging-parser-disabled_text_stdout.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/options/options_keep-log-disabled_json.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/options/options_keep-log-enabled_json.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-disabled_json.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-enabled_invalid-json.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-enabled_json.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-enabled_text.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-key_json.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-trim-disabled_json.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-trim-enabled_json.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/options/options_use-kubelet-disabled_fluent-bit.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/out/options/options_use-kubelet-enabled_fluent-bit.out1
-rw-r--r--fluent-bit/tests/runtime/data/kubernetes/parsers.conf88
-rw-r--r--fluent-bit/tests/runtime/data/loki/labelmap.json10
-rw-r--r--fluent-bit/tests/runtime/data/podman/cgroupv2/42/net/dev6
-rw-r--r--fluent-bit/tests/runtime/data/podman/cgroupv2/cgroup.controllers0
-rw-r--r--fluent-bit/tests/runtime/data/podman/cgroupv2/config.json1
-rw-r--r--fluent-bit/tests/runtime/data/podman/cgroupv2/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/containers/cgroup.procs1
-rw-r--r--fluent-bit/tests/runtime/data/podman/cgroupv2/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/memory.current1
-rw-r--r--fluent-bit/tests/runtime/data/podman/garbage/42/net/dev1
-rw-r--r--fluent-bit/tests/runtime/data/podman/garbage/config.json1
-rw-r--r--fluent-bit/tests/runtime/data/podman/garbage/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/memory.current1
-rw-r--r--fluent-bit/tests/runtime/data/podman/garbage/memory/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/memory.usage_in_bytes1
-rw-r--r--fluent-bit/tests/runtime/data/podman/garbage_config/config.json1
-rw-r--r--fluent-bit/tests/runtime/data/podman/no_config/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/memory.current1
-rw-r--r--fluent-bit/tests/runtime/data/podman/no_config/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/memory.usage_in_bytes1
-rw-r--r--fluent-bit/tests/runtime/data/podman/no_config/memory/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/memory.usage_in_bytes1
-rw-r--r--fluent-bit/tests/runtime/data/podman/no_proc/config.json1
-rw-r--r--fluent-bit/tests/runtime/data/podman/no_proc/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/memory.current1
-rw-r--r--fluent-bit/tests/runtime/data/podman/no_proc/memory/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/memory.usage_in_bytes1
-rw-r--r--fluent-bit/tests/runtime/data/podman/no_sysfs/42/net/dev6
-rw-r--r--fluent-bit/tests/runtime/data/podman/no_sysfs/config.json1
-rw-r--r--fluent-bit/tests/runtime/data/podman/regular/42/net/dev6
-rw-r--r--fluent-bit/tests/runtime/data/podman/regular/config.json1
-rw-r--r--fluent-bit/tests/runtime/data/podman/regular/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/memory.current1
-rw-r--r--fluent-bit/tests/runtime/data/podman/regular/memory/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/memory.usage_in_bytes1
-rw-r--r--fluent-bit/tests/runtime/data/podman/regular/systemd/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/cgroup.procs3
-rw-r--r--fluent-bit/tests/runtime/data/podman/reversed/42/net/dev6
-rw-r--r--fluent-bit/tests/runtime/data/podman/reversed/config.json1
-rw-r--r--fluent-bit/tests/runtime/data/podman/reversed/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/memory.current1
-rw-r--r--fluent-bit/tests/runtime/data/podman/reversed/memory/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/memory.usage_in_bytes1
-rw-r--r--fluent-bit/tests/runtime/data/podman/reversed/systemd/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/cgroup.procs3
-rwxr-xr-xfluent-bit/tests/runtime/data/stackdriver/json.h12
-rw-r--r--fluent-bit/tests/runtime/data/stackdriver/stackdriver-credentials.json12
-rw-r--r--fluent-bit/tests/runtime/data/stackdriver/stackdriver_multi_entries_severity.log4
-rw-r--r--fluent-bit/tests/runtime/data/stackdriver/stackdriver_test_http_request.h134
-rw-r--r--fluent-bit/tests/runtime/data/stackdriver/stackdriver_test_insert_id.h26
-rw-r--r--fluent-bit/tests/runtime/data/stackdriver/stackdriver_test_k8s_resource.h89
-rw-r--r--fluent-bit/tests/runtime/data/stackdriver/stackdriver_test_labels.h44
-rw-r--r--fluent-bit/tests/runtime/data/stackdriver/stackdriver_test_log_name.h10
-rw-r--r--fluent-bit/tests/runtime/data/stackdriver/stackdriver_test_monitored_resource.h46
-rw-r--r--fluent-bit/tests/runtime/data/stackdriver/stackdriver_test_operation.h62
-rw-r--r--fluent-bit/tests/runtime/data/stackdriver/stackdriver_test_resource_labels.h37
-rw-r--r--fluent-bit/tests/runtime/data/stackdriver/stackdriver_test_source_location.h70
-rw-r--r--fluent-bit/tests/runtime/data/stackdriver/stackdriver_test_span_id.h6
-rw-r--r--fluent-bit/tests/runtime/data/stackdriver/stackdriver_test_timestamp.h62
-rw-r--r--fluent-bit/tests/runtime/data/stackdriver/stackdriver_test_trace.h6
-rw-r--r--fluent-bit/tests/runtime/data/stackdriver/stackdriver_test_trace_sampled.h11
-rw-r--r--fluent-bit/tests/runtime/data/tail/log/3943.log2
-rw-r--r--fluent-bit/tests/runtime/data/tail/log/dockermode.log3
-rw-r--r--fluent-bit/tests/runtime/data/tail/log/dockermode_firstline_detection.log9
-rw-r--r--fluent-bit/tests/runtime/data/tail/log/dockermode_multiple_lines.log6
-rw-r--r--fluent-bit/tests/runtime/data/tail/log/dockermode_splitted_line.log6
-rw-r--r--fluent-bit/tests/runtime/data/tail/log/dockermode_splitted_multiple_lines.log8
-rw-r--r--fluent-bit/tests/runtime/data/tail/log/multiline_001.log6
-rw-r--r--fluent-bit/tests/runtime/data/tail/out/3943.out2
-rw-r--r--fluent-bit/tests/runtime/data/tail/out/dockermode.out3
-rw-r--r--fluent-bit/tests/runtime/data/tail/out/dockermode_firstline_detection.out5
-rw-r--r--fluent-bit/tests/runtime/data/tail/out/dockermode_multiple_lines.out2
-rw-r--r--fluent-bit/tests/runtime/data/tail/out/dockermode_splitted_line.out2
-rw-r--r--fluent-bit/tests/runtime/data/tail/out/dockermode_splitted_multiple_lines.out2
-rw-r--r--fluent-bit/tests/runtime/data/tail/out/multiline_001.out1
-rw-r--r--fluent-bit/tests/runtime/data/tail/out/skip_long_lines.out2
-rw-r--r--fluent-bit/tests/runtime/data/tail/parsers.conf10
-rw-r--r--fluent-bit/tests/runtime/data/tail/parsers_multiline_json.conf24
-rwxr-xr-xfluent-bit/tests/runtime/data/td/json_td.h506
-rw-r--r--fluent-bit/tests/runtime/data/tls/certificate.pem22
-rw-r--r--fluent-bit/tests/runtime/data/tls/private_key.pem28
-rwxr-xr-xfluent-bit/tests/runtime/data/wasm/append_tag.wasmbin0 -> 512323 bytes
-rwxr-xr-xfluent-bit/tests/runtime/data/wasm/drop_record.wasmbin0 -> 36610 bytes
-rwxr-xr-xfluent-bit/tests/runtime/data/wasm/modify_record.wasmbin0 -> 512134 bytes
-rwxr-xr-xfluent-bit/tests/runtime/data/wasm/numeric_records.wasmbin0 -> 517441 bytes
-rwxr-xr-xfluent-bit/tests/runtime/data/wasm/say_hello.wasmbin0 -> 390348 bytes
237 files changed, 3611 insertions, 0 deletions
diff --git a/fluent-bit/tests/runtime/data/common/json_invalid.h b/fluent-bit/tests/runtime/data/common/json_invalid.h
new file mode 100755
index 00000000..87172d15
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/common/json_invalid.h
@@ -0,0 +1,6 @@
+#define JSON_INVALID "[" \
+ "1448403340," \
+ "{" \
+ "{{{{{{{{" "\"END_KEY\": \"JSON_END\"" \
+ "}]"
+
diff --git a/fluent-bit/tests/runtime/data/common/json_long.h b/fluent-bit/tests/runtime/data/common/json_long.h
new file mode 100755
index 00000000..e579b679
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/common/json_long.h
@@ -0,0 +1,1006 @@
+#define JSON_LONG "[" \
+ "1448403340," \
+ "{" \
+ "\"key_0\": \"val_0\"," \
+ "\"key_1\": \"val_1\"," \
+ "\"key_2\": \"val_2\"," \
+ "\"key_3\": \"val_3\"," \
+ "\"key_4\": \"val_4\"," \
+ "\"key_5\": \"val_5\"," \
+ "\"key_6\": \"val_6\"," \
+ "\"key_7\": \"val_7\"," \
+ "\"key_8\": \"val_8\"," \
+ "\"key_9\": \"val_9\"," \
+ "\"key_10\": \"val_10\"," \
+ "\"key_11\": \"val_11\"," \
+ "\"key_12\": \"val_12\"," \
+ "\"key_13\": \"val_13\"," \
+ "\"key_14\": \"val_14\"," \
+ "\"key_15\": \"val_15\"," \
+ "\"key_16\": \"val_16\"," \
+ "\"key_17\": \"val_17\"," \
+ "\"key_18\": \"val_18\"," \
+ "\"key_19\": \"val_19\"," \
+ "\"key_20\": \"val_20\"," \
+ "\"key_21\": \"val_21\"," \
+ "\"key_22\": \"val_22\"," \
+ "\"key_23\": \"val_23\"," \
+ "\"key_24\": \"val_24\"," \
+ "\"key_25\": \"val_25\"," \
+ "\"key_26\": \"val_26\"," \
+ "\"key_27\": \"val_27\"," \
+ "\"key_28\": \"val_28\"," \
+ "\"key_29\": \"val_29\"," \
+ "\"key_30\": \"val_30\"," \
+ "\"key_31\": \"val_31\"," \
+ "\"key_32\": \"val_32\"," \
+ "\"key_33\": \"val_33\"," \
+ "\"key_34\": \"val_34\"," \
+ "\"key_35\": \"val_35\"," \
+ "\"key_36\": \"val_36\"," \
+ "\"key_37\": \"val_37\"," \
+ "\"key_38\": \"val_38\"," \
+ "\"key_39\": \"val_39\"," \
+ "\"key_40\": \"val_40\"," \
+ "\"key_41\": \"val_41\"," \
+ "\"key_42\": \"val_42\"," \
+ "\"key_43\": \"val_43\"," \
+ "\"key_44\": \"val_44\"," \
+ "\"key_45\": \"val_45\"," \
+ "\"key_46\": \"val_46\"," \
+ "\"key_47\": \"val_47\"," \
+ "\"key_48\": \"val_48\"," \
+ "\"key_49\": \"val_49\"," \
+ "\"key_50\": \"val_50\"," \
+ "\"key_51\": \"val_51\"," \
+ "\"key_52\": \"val_52\"," \
+ "\"key_53\": \"val_53\"," \
+ "\"key_54\": \"val_54\"," \
+ "\"key_55\": \"val_55\"," \
+ "\"key_56\": \"val_56\"," \
+ "\"key_57\": \"val_57\"," \
+ "\"key_58\": \"val_58\"," \
+ "\"key_59\": \"val_59\"," \
+ "\"key_60\": \"val_60\"," \
+ "\"key_61\": \"val_61\"," \
+ "\"key_62\": \"val_62\"," \
+ "\"key_63\": \"val_63\"," \
+ "\"key_64\": \"val_64\"," \
+ "\"key_65\": \"val_65\"," \
+ "\"key_66\": \"val_66\"," \
+ "\"key_67\": \"val_67\"," \
+ "\"key_68\": \"val_68\"," \
+ "\"key_69\": \"val_69\"," \
+ "\"key_70\": \"val_70\"," \
+ "\"key_71\": \"val_71\"," \
+ "\"key_72\": \"val_72\"," \
+ "\"key_73\": \"val_73\"," \
+ "\"key_74\": \"val_74\"," \
+ "\"key_75\": \"val_75\"," \
+ "\"key_76\": \"val_76\"," \
+ "\"key_77\": \"val_77\"," \
+ "\"key_78\": \"val_78\"," \
+ "\"key_79\": \"val_79\"," \
+ "\"key_80\": \"val_80\"," \
+ "\"key_81\": \"val_81\"," \
+ "\"key_82\": \"val_82\"," \
+ "\"key_83\": \"val_83\"," \
+ "\"key_84\": \"val_84\"," \
+ "\"key_85\": \"val_85\"," \
+ "\"key_86\": \"val_86\"," \
+ "\"key_87\": \"val_87\"," \
+ "\"key_88\": \"val_88\"," \
+ "\"key_89\": \"val_89\"," \
+ "\"key_90\": \"val_90\"," \
+ "\"key_91\": \"val_91\"," \
+ "\"key_92\": \"val_92\"," \
+ "\"key_93\": \"val_93\"," \
+ "\"key_94\": \"val_94\"," \
+ "\"key_95\": \"val_95\"," \
+ "\"key_96\": \"val_96\"," \
+ "\"key_97\": \"val_97\"," \
+ "\"key_98\": \"val_98\"," \
+ "\"key_99\": \"val_99\"," \
+ "\"key_100\": \"val_100\"," \
+ "\"key_101\": \"val_101\"," \
+ "\"key_102\": \"val_102\"," \
+ "\"key_103\": \"val_103\"," \
+ "\"key_104\": \"val_104\"," \
+ "\"key_105\": \"val_105\"," \
+ "\"key_106\": \"val_106\"," \
+ "\"key_107\": \"val_107\"," \
+ "\"key_108\": \"val_108\"," \
+ "\"key_109\": \"val_109\"," \
+ "\"key_110\": \"val_110\"," \
+ "\"key_111\": \"val_111\"," \
+ "\"key_112\": \"val_112\"," \
+ "\"key_113\": \"val_113\"," \
+ "\"key_114\": \"val_114\"," \
+ "\"key_115\": \"val_115\"," \
+ "\"key_116\": \"val_116\"," \
+ "\"key_117\": \"val_117\"," \
+ "\"key_118\": \"val_118\"," \
+ "\"key_119\": \"val_119\"," \
+ "\"key_120\": \"val_120\"," \
+ "\"key_121\": \"val_121\"," \
+ "\"key_122\": \"val_122\"," \
+ "\"key_123\": \"val_123\"," \
+ "\"key_124\": \"val_124\"," \
+ "\"key_125\": \"val_125\"," \
+ "\"key_126\": \"val_126\"," \
+ "\"key_127\": \"val_127\"," \
+ "\"key_128\": \"val_128\"," \
+ "\"key_129\": \"val_129\"," \
+ "\"key_130\": \"val_130\"," \
+ "\"key_131\": \"val_131\"," \
+ "\"key_132\": \"val_132\"," \
+ "\"key_133\": \"val_133\"," \
+ "\"key_134\": \"val_134\"," \
+ "\"key_135\": \"val_135\"," \
+ "\"key_136\": \"val_136\"," \
+ "\"key_137\": \"val_137\"," \
+ "\"key_138\": \"val_138\"," \
+ "\"key_139\": \"val_139\"," \
+ "\"key_140\": \"val_140\"," \
+ "\"key_141\": \"val_141\"," \
+ "\"key_142\": \"val_142\"," \
+ "\"key_143\": \"val_143\"," \
+ "\"key_144\": \"val_144\"," \
+ "\"key_145\": \"val_145\"," \
+ "\"key_146\": \"val_146\"," \
+ "\"key_147\": \"val_147\"," \
+ "\"key_148\": \"val_148\"," \
+ "\"key_149\": \"val_149\"," \
+ "\"key_150\": \"val_150\"," \
+ "\"key_151\": \"val_151\"," \
+ "\"key_152\": \"val_152\"," \
+ "\"key_153\": \"val_153\"," \
+ "\"key_154\": \"val_154\"," \
+ "\"key_155\": \"val_155\"," \
+ "\"key_156\": \"val_156\"," \
+ "\"key_157\": \"val_157\"," \
+ "\"key_158\": \"val_158\"," \
+ "\"key_159\": \"val_159\"," \
+ "\"key_160\": \"val_160\"," \
+ "\"key_161\": \"val_161\"," \
+ "\"key_162\": \"val_162\"," \
+ "\"key_163\": \"val_163\"," \
+ "\"key_164\": \"val_164\"," \
+ "\"key_165\": \"val_165\"," \
+ "\"key_166\": \"val_166\"," \
+ "\"key_167\": \"val_167\"," \
+ "\"key_168\": \"val_168\"," \
+ "\"key_169\": \"val_169\"," \
+ "\"key_170\": \"val_170\"," \
+ "\"key_171\": \"val_171\"," \
+ "\"key_172\": \"val_172\"," \
+ "\"key_173\": \"val_173\"," \
+ "\"key_174\": \"val_174\"," \
+ "\"key_175\": \"val_175\"," \
+ "\"key_176\": \"val_176\"," \
+ "\"key_177\": \"val_177\"," \
+ "\"key_178\": \"val_178\"," \
+ "\"key_179\": \"val_179\"," \
+ "\"key_180\": \"val_180\"," \
+ "\"key_181\": \"val_181\"," \
+ "\"key_182\": \"val_182\"," \
+ "\"key_183\": \"val_183\"," \
+ "\"key_184\": \"val_184\"," \
+ "\"key_185\": \"val_185\"," \
+ "\"key_186\": \"val_186\"," \
+ "\"key_187\": \"val_187\"," \
+ "\"key_188\": \"val_188\"," \
+ "\"key_189\": \"val_189\"," \
+ "\"key_190\": \"val_190\"," \
+ "\"key_191\": \"val_191\"," \
+ "\"key_192\": \"val_192\"," \
+ "\"key_193\": \"val_193\"," \
+ "\"key_194\": \"val_194\"," \
+ "\"key_195\": \"val_195\"," \
+ "\"key_196\": \"val_196\"," \
+ "\"key_197\": \"val_197\"," \
+ "\"key_198\": \"val_198\"," \
+ "\"key_199\": \"val_199\"," \
+ "\"key_200\": \"val_200\"," \
+ "\"key_201\": \"val_201\"," \
+ "\"key_202\": \"val_202\"," \
+ "\"key_203\": \"val_203\"," \
+ "\"key_204\": \"val_204\"," \
+ "\"key_205\": \"val_205\"," \
+ "\"key_206\": \"val_206\"," \
+ "\"key_207\": \"val_207\"," \
+ "\"key_208\": \"val_208\"," \
+ "\"key_209\": \"val_209\"," \
+ "\"key_210\": \"val_210\"," \
+ "\"key_211\": \"val_211\"," \
+ "\"key_212\": \"val_212\"," \
+ "\"key_213\": \"val_213\"," \
+ "\"key_214\": \"val_214\"," \
+ "\"key_215\": \"val_215\"," \
+ "\"key_216\": \"val_216\"," \
+ "\"key_217\": \"val_217\"," \
+ "\"key_218\": \"val_218\"," \
+ "\"key_219\": \"val_219\"," \
+ "\"key_220\": \"val_220\"," \
+ "\"key_221\": \"val_221\"," \
+ "\"key_222\": \"val_222\"," \
+ "\"key_223\": \"val_223\"," \
+ "\"key_224\": \"val_224\"," \
+ "\"key_225\": \"val_225\"," \
+ "\"key_226\": \"val_226\"," \
+ "\"key_227\": \"val_227\"," \
+ "\"key_228\": \"val_228\"," \
+ "\"key_229\": \"val_229\"," \
+ "\"key_230\": \"val_230\"," \
+ "\"key_231\": \"val_231\"," \
+ "\"key_232\": \"val_232\"," \
+ "\"key_233\": \"val_233\"," \
+ "\"key_234\": \"val_234\"," \
+ "\"key_235\": \"val_235\"," \
+ "\"key_236\": \"val_236\"," \
+ "\"key_237\": \"val_237\"," \
+ "\"key_238\": \"val_238\"," \
+ "\"key_239\": \"val_239\"," \
+ "\"key_240\": \"val_240\"," \
+ "\"key_241\": \"val_241\"," \
+ "\"key_242\": \"val_242\"," \
+ "\"key_243\": \"val_243\"," \
+ "\"key_244\": \"val_244\"," \
+ "\"key_245\": \"val_245\"," \
+ "\"key_246\": \"val_246\"," \
+ "\"key_247\": \"val_247\"," \
+ "\"key_248\": \"val_248\"," \
+ "\"key_249\": \"val_249\"," \
+ "\"key_250\": \"val_250\"," \
+ "\"key_251\": \"val_251\"," \
+ "\"key_252\": \"val_252\"," \
+ "\"key_253\": \"val_253\"," \
+ "\"key_254\": \"val_254\"," \
+ "\"key_255\": \"val_255\"," \
+ "\"key_256\": \"val_256\"," \
+ "\"key_257\": \"val_257\"," \
+ "\"key_258\": \"val_258\"," \
+ "\"key_259\": \"val_259\"," \
+ "\"key_260\": \"val_260\"," \
+ "\"key_261\": \"val_261\"," \
+ "\"key_262\": \"val_262\"," \
+ "\"key_263\": \"val_263\"," \
+ "\"key_264\": \"val_264\"," \
+ "\"key_265\": \"val_265\"," \
+ "\"key_266\": \"val_266\"," \
+ "\"key_267\": \"val_267\"," \
+ "\"key_268\": \"val_268\"," \
+ "\"key_269\": \"val_269\"," \
+ "\"key_270\": \"val_270\"," \
+ "\"key_271\": \"val_271\"," \
+ "\"key_272\": \"val_272\"," \
+ "\"key_273\": \"val_273\"," \
+ "\"key_274\": \"val_274\"," \
+ "\"key_275\": \"val_275\"," \
+ "\"key_276\": \"val_276\"," \
+ "\"key_277\": \"val_277\"," \
+ "\"key_278\": \"val_278\"," \
+ "\"key_279\": \"val_279\"," \
+ "\"key_280\": \"val_280\"," \
+ "\"key_281\": \"val_281\"," \
+ "\"key_282\": \"val_282\"," \
+ "\"key_283\": \"val_283\"," \
+ "\"key_284\": \"val_284\"," \
+ "\"key_285\": \"val_285\"," \
+ "\"key_286\": \"val_286\"," \
+ "\"key_287\": \"val_287\"," \
+ "\"key_288\": \"val_288\"," \
+ "\"key_289\": \"val_289\"," \
+ "\"key_290\": \"val_290\"," \
+ "\"key_291\": \"val_291\"," \
+ "\"key_292\": \"val_292\"," \
+ "\"key_293\": \"val_293\"," \
+ "\"key_294\": \"val_294\"," \
+ "\"key_295\": \"val_295\"," \
+ "\"key_296\": \"val_296\"," \
+ "\"key_297\": \"val_297\"," \
+ "\"key_298\": \"val_298\"," \
+ "\"key_299\": \"val_299\"," \
+ "\"key_300\": \"val_300\"," \
+ "\"key_301\": \"val_301\"," \
+ "\"key_302\": \"val_302\"," \
+ "\"key_303\": \"val_303\"," \
+ "\"key_304\": \"val_304\"," \
+ "\"key_305\": \"val_305\"," \
+ "\"key_306\": \"val_306\"," \
+ "\"key_307\": \"val_307\"," \
+ "\"key_308\": \"val_308\"," \
+ "\"key_309\": \"val_309\"," \
+ "\"key_310\": \"val_310\"," \
+ "\"key_311\": \"val_311\"," \
+ "\"key_312\": \"val_312\"," \
+ "\"key_313\": \"val_313\"," \
+ "\"key_314\": \"val_314\"," \
+ "\"key_315\": \"val_315\"," \
+ "\"key_316\": \"val_316\"," \
+ "\"key_317\": \"val_317\"," \
+ "\"key_318\": \"val_318\"," \
+ "\"key_319\": \"val_319\"," \
+ "\"key_320\": \"val_320\"," \
+ "\"key_321\": \"val_321\"," \
+ "\"key_322\": \"val_322\"," \
+ "\"key_323\": \"val_323\"," \
+ "\"key_324\": \"val_324\"," \
+ "\"key_325\": \"val_325\"," \
+ "\"key_326\": \"val_326\"," \
+ "\"key_327\": \"val_327\"," \
+ "\"key_328\": \"val_328\"," \
+ "\"key_329\": \"val_329\"," \
+ "\"key_330\": \"val_330\"," \
+ "\"key_331\": \"val_331\"," \
+ "\"key_332\": \"val_332\"," \
+ "\"key_333\": \"val_333\"," \
+ "\"key_334\": \"val_334\"," \
+ "\"key_335\": \"val_335\"," \
+ "\"key_336\": \"val_336\"," \
+ "\"key_337\": \"val_337\"," \
+ "\"key_338\": \"val_338\"," \
+ "\"key_339\": \"val_339\"," \
+ "\"key_340\": \"val_340\"," \
+ "\"key_341\": \"val_341\"," \
+ "\"key_342\": \"val_342\"," \
+ "\"key_343\": \"val_343\"," \
+ "\"key_344\": \"val_344\"," \
+ "\"key_345\": \"val_345\"," \
+ "\"key_346\": \"val_346\"," \
+ "\"key_347\": \"val_347\"," \
+ "\"key_348\": \"val_348\"," \
+ "\"key_349\": \"val_349\"," \
+ "\"key_350\": \"val_350\"," \
+ "\"key_351\": \"val_351\"," \
+ "\"key_352\": \"val_352\"," \
+ "\"key_353\": \"val_353\"," \
+ "\"key_354\": \"val_354\"," \
+ "\"key_355\": \"val_355\"," \
+ "\"key_356\": \"val_356\"," \
+ "\"key_357\": \"val_357\"," \
+ "\"key_358\": \"val_358\"," \
+ "\"key_359\": \"val_359\"," \
+ "\"key_360\": \"val_360\"," \
+ "\"key_361\": \"val_361\"," \
+ "\"key_362\": \"val_362\"," \
+ "\"key_363\": \"val_363\"," \
+ "\"key_364\": \"val_364\"," \
+ "\"key_365\": \"val_365\"," \
+ "\"key_366\": \"val_366\"," \
+ "\"key_367\": \"val_367\"," \
+ "\"key_368\": \"val_368\"," \
+ "\"key_369\": \"val_369\"," \
+ "\"key_370\": \"val_370\"," \
+ "\"key_371\": \"val_371\"," \
+ "\"key_372\": \"val_372\"," \
+ "\"key_373\": \"val_373\"," \
+ "\"key_374\": \"val_374\"," \
+ "\"key_375\": \"val_375\"," \
+ "\"key_376\": \"val_376\"," \
+ "\"key_377\": \"val_377\"," \
+ "\"key_378\": \"val_378\"," \
+ "\"key_379\": \"val_379\"," \
+ "\"key_380\": \"val_380\"," \
+ "\"key_381\": \"val_381\"," \
+ "\"key_382\": \"val_382\"," \
+ "\"key_383\": \"val_383\"," \
+ "\"key_384\": \"val_384\"," \
+ "\"key_385\": \"val_385\"," \
+ "\"key_386\": \"val_386\"," \
+ "\"key_387\": \"val_387\"," \
+ "\"key_388\": \"val_388\"," \
+ "\"key_389\": \"val_389\"," \
+ "\"key_390\": \"val_390\"," \
+ "\"key_391\": \"val_391\"," \
+ "\"key_392\": \"val_392\"," \
+ "\"key_393\": \"val_393\"," \
+ "\"key_394\": \"val_394\"," \
+ "\"key_395\": \"val_395\"," \
+ "\"key_396\": \"val_396\"," \
+ "\"key_397\": \"val_397\"," \
+ "\"key_398\": \"val_398\"," \
+ "\"key_399\": \"val_399\"," \
+ "\"key_400\": \"val_400\"," \
+ "\"key_401\": \"val_401\"," \
+ "\"key_402\": \"val_402\"," \
+ "\"key_403\": \"val_403\"," \
+ "\"key_404\": \"val_404\"," \
+ "\"key_405\": \"val_405\"," \
+ "\"key_406\": \"val_406\"," \
+ "\"key_407\": \"val_407\"," \
+ "\"key_408\": \"val_408\"," \
+ "\"key_409\": \"val_409\"," \
+ "\"key_410\": \"val_410\"," \
+ "\"key_411\": \"val_411\"," \
+ "\"key_412\": \"val_412\"," \
+ "\"key_413\": \"val_413\"," \
+ "\"key_414\": \"val_414\"," \
+ "\"key_415\": \"val_415\"," \
+ "\"key_416\": \"val_416\"," \
+ "\"key_417\": \"val_417\"," \
+ "\"key_418\": \"val_418\"," \
+ "\"key_419\": \"val_419\"," \
+ "\"key_420\": \"val_420\"," \
+ "\"key_421\": \"val_421\"," \
+ "\"key_422\": \"val_422\"," \
+ "\"key_423\": \"val_423\"," \
+ "\"key_424\": \"val_424\"," \
+ "\"key_425\": \"val_425\"," \
+ "\"key_426\": \"val_426\"," \
+ "\"key_427\": \"val_427\"," \
+ "\"key_428\": \"val_428\"," \
+ "\"key_429\": \"val_429\"," \
+ "\"key_430\": \"val_430\"," \
+ "\"key_431\": \"val_431\"," \
+ "\"key_432\": \"val_432\"," \
+ "\"key_433\": \"val_433\"," \
+ "\"key_434\": \"val_434\"," \
+ "\"key_435\": \"val_435\"," \
+ "\"key_436\": \"val_436\"," \
+ "\"key_437\": \"val_437\"," \
+ "\"key_438\": \"val_438\"," \
+ "\"key_439\": \"val_439\"," \
+ "\"key_440\": \"val_440\"," \
+ "\"key_441\": \"val_441\"," \
+ "\"key_442\": \"val_442\"," \
+ "\"key_443\": \"val_443\"," \
+ "\"key_444\": \"val_444\"," \
+ "\"key_445\": \"val_445\"," \
+ "\"key_446\": \"val_446\"," \
+ "\"key_447\": \"val_447\"," \
+ "\"key_448\": \"val_448\"," \
+ "\"key_449\": \"val_449\"," \
+ "\"key_450\": \"val_450\"," \
+ "\"key_451\": \"val_451\"," \
+ "\"key_452\": \"val_452\"," \
+ "\"key_453\": \"val_453\"," \
+ "\"key_454\": \"val_454\"," \
+ "\"key_455\": \"val_455\"," \
+ "\"key_456\": \"val_456\"," \
+ "\"key_457\": \"val_457\"," \
+ "\"key_458\": \"val_458\"," \
+ "\"key_459\": \"val_459\"," \
+ "\"key_460\": \"val_460\"," \
+ "\"key_461\": \"val_461\"," \
+ "\"key_462\": \"val_462\"," \
+ "\"key_463\": \"val_463\"," \
+ "\"key_464\": \"val_464\"," \
+ "\"key_465\": \"val_465\"," \
+ "\"key_466\": \"val_466\"," \
+ "\"key_467\": \"val_467\"," \
+ "\"key_468\": \"val_468\"," \
+ "\"key_469\": \"val_469\"," \
+ "\"key_470\": \"val_470\"," \
+ "\"key_471\": \"val_471\"," \
+ "\"key_472\": \"val_472\"," \
+ "\"key_473\": \"val_473\"," \
+ "\"key_474\": \"val_474\"," \
+ "\"key_475\": \"val_475\"," \
+ "\"key_476\": \"val_476\"," \
+ "\"key_477\": \"val_477\"," \
+ "\"key_478\": \"val_478\"," \
+ "\"key_479\": \"val_479\"," \
+ "\"key_480\": \"val_480\"," \
+ "\"key_481\": \"val_481\"," \
+ "\"key_482\": \"val_482\"," \
+ "\"key_483\": \"val_483\"," \
+ "\"key_484\": \"val_484\"," \
+ "\"key_485\": \"val_485\"," \
+ "\"key_486\": \"val_486\"," \
+ "\"key_487\": \"val_487\"," \
+ "\"key_488\": \"val_488\"," \
+ "\"key_489\": \"val_489\"," \
+ "\"key_490\": \"val_490\"," \
+ "\"key_491\": \"val_491\"," \
+ "\"key_492\": \"val_492\"," \
+ "\"key_493\": \"val_493\"," \
+ "\"key_494\": \"val_494\"," \
+ "\"key_495\": \"val_495\"," \
+ "\"key_496\": \"val_496\"," \
+ "\"key_497\": \"val_497\"," \
+ "\"key_498\": \"val_498\"," \
+ "\"key_499\": \"val_499\"," \
+ "\"key_500\": \"val_500\"," \
+ "\"key_501\": \"val_501\"," \
+ "\"key_502\": \"val_502\"," \
+ "\"key_503\": \"val_503\"," \
+ "\"key_504\": \"val_504\"," \
+ "\"key_505\": \"val_505\"," \
+ "\"key_506\": \"val_506\"," \
+ "\"key_507\": \"val_507\"," \
+ "\"key_508\": \"val_508\"," \
+ "\"key_509\": \"val_509\"," \
+ "\"key_510\": \"val_510\"," \
+ "\"key_511\": \"val_511\"," \
+ "\"key_512\": \"val_512\"," \
+ "\"key_513\": \"val_513\"," \
+ "\"key_514\": \"val_514\"," \
+ "\"key_515\": \"val_515\"," \
+ "\"key_516\": \"val_516\"," \
+ "\"key_517\": \"val_517\"," \
+ "\"key_518\": \"val_518\"," \
+ "\"key_519\": \"val_519\"," \
+ "\"key_520\": \"val_520\"," \
+ "\"key_521\": \"val_521\"," \
+ "\"key_522\": \"val_522\"," \
+ "\"key_523\": \"val_523\"," \
+ "\"key_524\": \"val_524\"," \
+ "\"key_525\": \"val_525\"," \
+ "\"key_526\": \"val_526\"," \
+ "\"key_527\": \"val_527\"," \
+ "\"key_528\": \"val_528\"," \
+ "\"key_529\": \"val_529\"," \
+ "\"key_530\": \"val_530\"," \
+ "\"key_531\": \"val_531\"," \
+ "\"key_532\": \"val_532\"," \
+ "\"key_533\": \"val_533\"," \
+ "\"key_534\": \"val_534\"," \
+ "\"key_535\": \"val_535\"," \
+ "\"key_536\": \"val_536\"," \
+ "\"key_537\": \"val_537\"," \
+ "\"key_538\": \"val_538\"," \
+ "\"key_539\": \"val_539\"," \
+ "\"key_540\": \"val_540\"," \
+ "\"key_541\": \"val_541\"," \
+ "\"key_542\": \"val_542\"," \
+ "\"key_543\": \"val_543\"," \
+ "\"key_544\": \"val_544\"," \
+ "\"key_545\": \"val_545\"," \
+ "\"key_546\": \"val_546\"," \
+ "\"key_547\": \"val_547\"," \
+ "\"key_548\": \"val_548\"," \
+ "\"key_549\": \"val_549\"," \
+ "\"key_550\": \"val_550\"," \
+ "\"key_551\": \"val_551\"," \
+ "\"key_552\": \"val_552\"," \
+ "\"key_553\": \"val_553\"," \
+ "\"key_554\": \"val_554\"," \
+ "\"key_555\": \"val_555\"," \
+ "\"key_556\": \"val_556\"," \
+ "\"key_557\": \"val_557\"," \
+ "\"key_558\": \"val_558\"," \
+ "\"key_559\": \"val_559\"," \
+ "\"key_560\": \"val_560\"," \
+ "\"key_561\": \"val_561\"," \
+ "\"key_562\": \"val_562\"," \
+ "\"key_563\": \"val_563\"," \
+ "\"key_564\": \"val_564\"," \
+ "\"key_565\": \"val_565\"," \
+ "\"key_566\": \"val_566\"," \
+ "\"key_567\": \"val_567\"," \
+ "\"key_568\": \"val_568\"," \
+ "\"key_569\": \"val_569\"," \
+ "\"key_570\": \"val_570\"," \
+ "\"key_571\": \"val_571\"," \
+ "\"key_572\": \"val_572\"," \
+ "\"key_573\": \"val_573\"," \
+ "\"key_574\": \"val_574\"," \
+ "\"key_575\": \"val_575\"," \
+ "\"key_576\": \"val_576\"," \
+ "\"key_577\": \"val_577\"," \
+ "\"key_578\": \"val_578\"," \
+ "\"key_579\": \"val_579\"," \
+ "\"key_580\": \"val_580\"," \
+ "\"key_581\": \"val_581\"," \
+ "\"key_582\": \"val_582\"," \
+ "\"key_583\": \"val_583\"," \
+ "\"key_584\": \"val_584\"," \
+ "\"key_585\": \"val_585\"," \
+ "\"key_586\": \"val_586\"," \
+ "\"key_587\": \"val_587\"," \
+ "\"key_588\": \"val_588\"," \
+ "\"key_589\": \"val_589\"," \
+ "\"key_590\": \"val_590\"," \
+ "\"key_591\": \"val_591\"," \
+ "\"key_592\": \"val_592\"," \
+ "\"key_593\": \"val_593\"," \
+ "\"key_594\": \"val_594\"," \
+ "\"key_595\": \"val_595\"," \
+ "\"key_596\": \"val_596\"," \
+ "\"key_597\": \"val_597\"," \
+ "\"key_598\": \"val_598\"," \
+ "\"key_599\": \"val_599\"," \
+ "\"key_600\": \"val_600\"," \
+ "\"key_601\": \"val_601\"," \
+ "\"key_602\": \"val_602\"," \
+ "\"key_603\": \"val_603\"," \
+ "\"key_604\": \"val_604\"," \
+ "\"key_605\": \"val_605\"," \
+ "\"key_606\": \"val_606\"," \
+ "\"key_607\": \"val_607\"," \
+ "\"key_608\": \"val_608\"," \
+ "\"key_609\": \"val_609\"," \
+ "\"key_610\": \"val_610\"," \
+ "\"key_611\": \"val_611\"," \
+ "\"key_612\": \"val_612\"," \
+ "\"key_613\": \"val_613\"," \
+ "\"key_614\": \"val_614\"," \
+ "\"key_615\": \"val_615\"," \
+ "\"key_616\": \"val_616\"," \
+ "\"key_617\": \"val_617\"," \
+ "\"key_618\": \"val_618\"," \
+ "\"key_619\": \"val_619\"," \
+ "\"key_620\": \"val_620\"," \
+ "\"key_621\": \"val_621\"," \
+ "\"key_622\": \"val_622\"," \
+ "\"key_623\": \"val_623\"," \
+ "\"key_624\": \"val_624\"," \
+ "\"key_625\": \"val_625\"," \
+ "\"key_626\": \"val_626\"," \
+ "\"key_627\": \"val_627\"," \
+ "\"key_628\": \"val_628\"," \
+ "\"key_629\": \"val_629\"," \
+ "\"key_630\": \"val_630\"," \
+ "\"key_631\": \"val_631\"," \
+ "\"key_632\": \"val_632\"," \
+ "\"key_633\": \"val_633\"," \
+ "\"key_634\": \"val_634\"," \
+ "\"key_635\": \"val_635\"," \
+ "\"key_636\": \"val_636\"," \
+ "\"key_637\": \"val_637\"," \
+ "\"key_638\": \"val_638\"," \
+ "\"key_639\": \"val_639\"," \
+ "\"key_640\": \"val_640\"," \
+ "\"key_641\": \"val_641\"," \
+ "\"key_642\": \"val_642\"," \
+ "\"key_643\": \"val_643\"," \
+ "\"key_644\": \"val_644\"," \
+ "\"key_645\": \"val_645\"," \
+ "\"key_646\": \"val_646\"," \
+ "\"key_647\": \"val_647\"," \
+ "\"key_648\": \"val_648\"," \
+ "\"key_649\": \"val_649\"," \
+ "\"key_650\": \"val_650\"," \
+ "\"key_651\": \"val_651\"," \
+ "\"key_652\": \"val_652\"," \
+ "\"key_653\": \"val_653\"," \
+ "\"key_654\": \"val_654\"," \
+ "\"key_655\": \"val_655\"," \
+ "\"key_656\": \"val_656\"," \
+ "\"key_657\": \"val_657\"," \
+ "\"key_658\": \"val_658\"," \
+ "\"key_659\": \"val_659\"," \
+ "\"key_660\": \"val_660\"," \
+ "\"key_661\": \"val_661\"," \
+ "\"key_662\": \"val_662\"," \
+ "\"key_663\": \"val_663\"," \
+ "\"key_664\": \"val_664\"," \
+ "\"key_665\": \"val_665\"," \
+ "\"key_666\": \"val_666\"," \
+ "\"key_667\": \"val_667\"," \
+ "\"key_668\": \"val_668\"," \
+ "\"key_669\": \"val_669\"," \
+ "\"key_670\": \"val_670\"," \
+ "\"key_671\": \"val_671\"," \
+ "\"key_672\": \"val_672\"," \
+ "\"key_673\": \"val_673\"," \
+ "\"key_674\": \"val_674\"," \
+ "\"key_675\": \"val_675\"," \
+ "\"key_676\": \"val_676\"," \
+ "\"key_677\": \"val_677\"," \
+ "\"key_678\": \"val_678\"," \
+ "\"key_679\": \"val_679\"," \
+ "\"key_680\": \"val_680\"," \
+ "\"key_681\": \"val_681\"," \
+ "\"key_682\": \"val_682\"," \
+ "\"key_683\": \"val_683\"," \
+ "\"key_684\": \"val_684\"," \
+ "\"key_685\": \"val_685\"," \
+ "\"key_686\": \"val_686\"," \
+ "\"key_687\": \"val_687\"," \
+ "\"key_688\": \"val_688\"," \
+ "\"key_689\": \"val_689\"," \
+ "\"key_690\": \"val_690\"," \
+ "\"key_691\": \"val_691\"," \
+ "\"key_692\": \"val_692\"," \
+ "\"key_693\": \"val_693\"," \
+ "\"key_694\": \"val_694\"," \
+ "\"key_695\": \"val_695\"," \
+ "\"key_696\": \"val_696\"," \
+ "\"key_697\": \"val_697\"," \
+ "\"key_698\": \"val_698\"," \
+ "\"key_699\": \"val_699\"," \
+ "\"key_700\": \"val_700\"," \
+ "\"key_701\": \"val_701\"," \
+ "\"key_702\": \"val_702\"," \
+ "\"key_703\": \"val_703\"," \
+ "\"key_704\": \"val_704\"," \
+ "\"key_705\": \"val_705\"," \
+ "\"key_706\": \"val_706\"," \
+ "\"key_707\": \"val_707\"," \
+ "\"key_708\": \"val_708\"," \
+ "\"key_709\": \"val_709\"," \
+ "\"key_710\": \"val_710\"," \
+ "\"key_711\": \"val_711\"," \
+ "\"key_712\": \"val_712\"," \
+ "\"key_713\": \"val_713\"," \
+ "\"key_714\": \"val_714\"," \
+ "\"key_715\": \"val_715\"," \
+ "\"key_716\": \"val_716\"," \
+ "\"key_717\": \"val_717\"," \
+ "\"key_718\": \"val_718\"," \
+ "\"key_719\": \"val_719\"," \
+ "\"key_720\": \"val_720\"," \
+ "\"key_721\": \"val_721\"," \
+ "\"key_722\": \"val_722\"," \
+ "\"key_723\": \"val_723\"," \
+ "\"key_724\": \"val_724\"," \
+ "\"key_725\": \"val_725\"," \
+ "\"key_726\": \"val_726\"," \
+ "\"key_727\": \"val_727\"," \
+ "\"key_728\": \"val_728\"," \
+ "\"key_729\": \"val_729\"," \
+ "\"key_730\": \"val_730\"," \
+ "\"key_731\": \"val_731\"," \
+ "\"key_732\": \"val_732\"," \
+ "\"key_733\": \"val_733\"," \
+ "\"key_734\": \"val_734\"," \
+ "\"key_735\": \"val_735\"," \
+ "\"key_736\": \"val_736\"," \
+ "\"key_737\": \"val_737\"," \
+ "\"key_738\": \"val_738\"," \
+ "\"key_739\": \"val_739\"," \
+ "\"key_740\": \"val_740\"," \
+ "\"key_741\": \"val_741\"," \
+ "\"key_742\": \"val_742\"," \
+ "\"key_743\": \"val_743\"," \
+ "\"key_744\": \"val_744\"," \
+ "\"key_745\": \"val_745\"," \
+ "\"key_746\": \"val_746\"," \
+ "\"key_747\": \"val_747\"," \
+ "\"key_748\": \"val_748\"," \
+ "\"key_749\": \"val_749\"," \
+ "\"key_750\": \"val_750\"," \
+ "\"key_751\": \"val_751\"," \
+ "\"key_752\": \"val_752\"," \
+ "\"key_753\": \"val_753\"," \
+ "\"key_754\": \"val_754\"," \
+ "\"key_755\": \"val_755\"," \
+ "\"key_756\": \"val_756\"," \
+ "\"key_757\": \"val_757\"," \
+ "\"key_758\": \"val_758\"," \
+ "\"key_759\": \"val_759\"," \
+ "\"key_760\": \"val_760\"," \
+ "\"key_761\": \"val_761\"," \
+ "\"key_762\": \"val_762\"," \
+ "\"key_763\": \"val_763\"," \
+ "\"key_764\": \"val_764\"," \
+ "\"key_765\": \"val_765\"," \
+ "\"key_766\": \"val_766\"," \
+ "\"key_767\": \"val_767\"," \
+ "\"key_768\": \"val_768\"," \
+ "\"key_769\": \"val_769\"," \
+ "\"key_770\": \"val_770\"," \
+ "\"key_771\": \"val_771\"," \
+ "\"key_772\": \"val_772\"," \
+ "\"key_773\": \"val_773\"," \
+ "\"key_774\": \"val_774\"," \
+ "\"key_775\": \"val_775\"," \
+ "\"key_776\": \"val_776\"," \
+ "\"key_777\": \"val_777\"," \
+ "\"key_778\": \"val_778\"," \
+ "\"key_779\": \"val_779\"," \
+ "\"key_780\": \"val_780\"," \
+ "\"key_781\": \"val_781\"," \
+ "\"key_782\": \"val_782\"," \
+ "\"key_783\": \"val_783\"," \
+ "\"key_784\": \"val_784\"," \
+ "\"key_785\": \"val_785\"," \
+ "\"key_786\": \"val_786\"," \
+ "\"key_787\": \"val_787\"," \
+ "\"key_788\": \"val_788\"," \
+ "\"key_789\": \"val_789\"," \
+ "\"key_790\": \"val_790\"," \
+ "\"key_791\": \"val_791\"," \
+ "\"key_792\": \"val_792\"," \
+ "\"key_793\": \"val_793\"," \
+ "\"key_794\": \"val_794\"," \
+ "\"key_795\": \"val_795\"," \
+ "\"key_796\": \"val_796\"," \
+ "\"key_797\": \"val_797\"," \
+ "\"key_798\": \"val_798\"," \
+ "\"key_799\": \"val_799\"," \
+ "\"key_800\": \"val_800\"," \
+ "\"key_801\": \"val_801\"," \
+ "\"key_802\": \"val_802\"," \
+ "\"key_803\": \"val_803\"," \
+ "\"key_804\": \"val_804\"," \
+ "\"key_805\": \"val_805\"," \
+ "\"key_806\": \"val_806\"," \
+ "\"key_807\": \"val_807\"," \
+ "\"key_808\": \"val_808\"," \
+ "\"key_809\": \"val_809\"," \
+ "\"key_810\": \"val_810\"," \
+ "\"key_811\": \"val_811\"," \
+ "\"key_812\": \"val_812\"," \
+ "\"key_813\": \"val_813\"," \
+ "\"key_814\": \"val_814\"," \
+ "\"key_815\": \"val_815\"," \
+ "\"key_816\": \"val_816\"," \
+ "\"key_817\": \"val_817\"," \
+ "\"key_818\": \"val_818\"," \
+ "\"key_819\": \"val_819\"," \
+ "\"key_820\": \"val_820\"," \
+ "\"key_821\": \"val_821\"," \
+ "\"key_822\": \"val_822\"," \
+ "\"key_823\": \"val_823\"," \
+ "\"key_824\": \"val_824\"," \
+ "\"key_825\": \"val_825\"," \
+ "\"key_826\": \"val_826\"," \
+ "\"key_827\": \"val_827\"," \
+ "\"key_828\": \"val_828\"," \
+ "\"key_829\": \"val_829\"," \
+ "\"key_830\": \"val_830\"," \
+ "\"key_831\": \"val_831\"," \
+ "\"key_832\": \"val_832\"," \
+ "\"key_833\": \"val_833\"," \
+ "\"key_834\": \"val_834\"," \
+ "\"key_835\": \"val_835\"," \
+ "\"key_836\": \"val_836\"," \
+ "\"key_837\": \"val_837\"," \
+ "\"key_838\": \"val_838\"," \
+ "\"key_839\": \"val_839\"," \
+ "\"key_840\": \"val_840\"," \
+ "\"key_841\": \"val_841\"," \
+ "\"key_842\": \"val_842\"," \
+ "\"key_843\": \"val_843\"," \
+ "\"key_844\": \"val_844\"," \
+ "\"key_845\": \"val_845\"," \
+ "\"key_846\": \"val_846\"," \
+ "\"key_847\": \"val_847\"," \
+ "\"key_848\": \"val_848\"," \
+ "\"key_849\": \"val_849\"," \
+ "\"key_850\": \"val_850\"," \
+ "\"key_851\": \"val_851\"," \
+ "\"key_852\": \"val_852\"," \
+ "\"key_853\": \"val_853\"," \
+ "\"key_854\": \"val_854\"," \
+ "\"key_855\": \"val_855\"," \
+ "\"key_856\": \"val_856\"," \
+ "\"key_857\": \"val_857\"," \
+ "\"key_858\": \"val_858\"," \
+ "\"key_859\": \"val_859\"," \
+ "\"key_860\": \"val_860\"," \
+ "\"key_861\": \"val_861\"," \
+ "\"key_862\": \"val_862\"," \
+ "\"key_863\": \"val_863\"," \
+ "\"key_864\": \"val_864\"," \
+ "\"key_865\": \"val_865\"," \
+ "\"key_866\": \"val_866\"," \
+ "\"key_867\": \"val_867\"," \
+ "\"key_868\": \"val_868\"," \
+ "\"key_869\": \"val_869\"," \
+ "\"key_870\": \"val_870\"," \
+ "\"key_871\": \"val_871\"," \
+ "\"key_872\": \"val_872\"," \
+ "\"key_873\": \"val_873\"," \
+ "\"key_874\": \"val_874\"," \
+ "\"key_875\": \"val_875\"," \
+ "\"key_876\": \"val_876\"," \
+ "\"key_877\": \"val_877\"," \
+ "\"key_878\": \"val_878\"," \
+ "\"key_879\": \"val_879\"," \
+ "\"key_880\": \"val_880\"," \
+ "\"key_881\": \"val_881\"," \
+ "\"key_882\": \"val_882\"," \
+ "\"key_883\": \"val_883\"," \
+ "\"key_884\": \"val_884\"," \
+ "\"key_885\": \"val_885\"," \
+ "\"key_886\": \"val_886\"," \
+ "\"key_887\": \"val_887\"," \
+ "\"key_888\": \"val_888\"," \
+ "\"key_889\": \"val_889\"," \
+ "\"key_890\": \"val_890\"," \
+ "\"key_891\": \"val_891\"," \
+ "\"key_892\": \"val_892\"," \
+ "\"key_893\": \"val_893\"," \
+ "\"key_894\": \"val_894\"," \
+ "\"key_895\": \"val_895\"," \
+ "\"key_896\": \"val_896\"," \
+ "\"key_897\": \"val_897\"," \
+ "\"key_898\": \"val_898\"," \
+ "\"key_899\": \"val_899\"," \
+ "\"key_900\": \"val_900\"," \
+ "\"key_901\": \"val_901\"," \
+ "\"key_902\": \"val_902\"," \
+ "\"key_903\": \"val_903\"," \
+ "\"key_904\": \"val_904\"," \
+ "\"key_905\": \"val_905\"," \
+ "\"key_906\": \"val_906\"," \
+ "\"key_907\": \"val_907\"," \
+ "\"key_908\": \"val_908\"," \
+ "\"key_909\": \"val_909\"," \
+ "\"key_910\": \"val_910\"," \
+ "\"key_911\": \"val_911\"," \
+ "\"key_912\": \"val_912\"," \
+ "\"key_913\": \"val_913\"," \
+ "\"key_914\": \"val_914\"," \
+ "\"key_915\": \"val_915\"," \
+ "\"key_916\": \"val_916\"," \
+ "\"key_917\": \"val_917\"," \
+ "\"key_918\": \"val_918\"," \
+ "\"key_919\": \"val_919\"," \
+ "\"key_920\": \"val_920\"," \
+ "\"key_921\": \"val_921\"," \
+ "\"key_922\": \"val_922\"," \
+ "\"key_923\": \"val_923\"," \
+ "\"key_924\": \"val_924\"," \
+ "\"key_925\": \"val_925\"," \
+ "\"key_926\": \"val_926\"," \
+ "\"key_927\": \"val_927\"," \
+ "\"key_928\": \"val_928\"," \
+ "\"key_929\": \"val_929\"," \
+ "\"key_930\": \"val_930\"," \
+ "\"key_931\": \"val_931\"," \
+ "\"key_932\": \"val_932\"," \
+ "\"key_933\": \"val_933\"," \
+ "\"key_934\": \"val_934\"," \
+ "\"key_935\": \"val_935\"," \
+ "\"key_936\": \"val_936\"," \
+ "\"key_937\": \"val_937\"," \
+ "\"key_938\": \"val_938\"," \
+ "\"key_939\": \"val_939\"," \
+ "\"key_940\": \"val_940\"," \
+ "\"key_941\": \"val_941\"," \
+ "\"key_942\": \"val_942\"," \
+ "\"key_943\": \"val_943\"," \
+ "\"key_944\": \"val_944\"," \
+ "\"key_945\": \"val_945\"," \
+ "\"key_946\": \"val_946\"," \
+ "\"key_947\": \"val_947\"," \
+ "\"key_948\": \"val_948\"," \
+ "\"key_949\": \"val_949\"," \
+ "\"key_950\": \"val_950\"," \
+ "\"key_951\": \"val_951\"," \
+ "\"key_952\": \"val_952\"," \
+ "\"key_953\": \"val_953\"," \
+ "\"key_954\": \"val_954\"," \
+ "\"key_955\": \"val_955\"," \
+ "\"key_956\": \"val_956\"," \
+ "\"key_957\": \"val_957\"," \
+ "\"key_958\": \"val_958\"," \
+ "\"key_959\": \"val_959\"," \
+ "\"key_960\": \"val_960\"," \
+ "\"key_961\": \"val_961\"," \
+ "\"key_962\": \"val_962\"," \
+ "\"key_963\": \"val_963\"," \
+ "\"key_964\": \"val_964\"," \
+ "\"key_965\": \"val_965\"," \
+ "\"key_966\": \"val_966\"," \
+ "\"key_967\": \"val_967\"," \
+ "\"key_968\": \"val_968\"," \
+ "\"key_969\": \"val_969\"," \
+ "\"key_970\": \"val_970\"," \
+ "\"key_971\": \"val_971\"," \
+ "\"key_972\": \"val_972\"," \
+ "\"key_973\": \"val_973\"," \
+ "\"key_974\": \"val_974\"," \
+ "\"key_975\": \"val_975\"," \
+ "\"key_976\": \"val_976\"," \
+ "\"key_977\": \"val_977\"," \
+ "\"key_978\": \"val_978\"," \
+ "\"key_979\": \"val_979\"," \
+ "\"key_980\": \"val_980\"," \
+ "\"key_981\": \"val_981\"," \
+ "\"key_982\": \"val_982\"," \
+ "\"key_983\": \"val_983\"," \
+ "\"key_984\": \"val_984\"," \
+ "\"key_985\": \"val_985\"," \
+ "\"key_986\": \"val_986\"," \
+ "\"key_987\": \"val_987\"," \
+ "\"key_988\": \"val_988\"," \
+ "\"key_989\": \"val_989\"," \
+ "\"key_990\": \"val_990\"," \
+ "\"key_991\": \"val_991\"," \
+ "\"key_992\": \"val_992\"," \
+ "\"key_993\": \"val_993\"," \
+ "\"key_994\": \"val_994\"," \
+ "\"key_995\": \"val_995\"," \
+ "\"key_996\": \"val_996\"," \
+ "\"key_997\": \"val_997\"," \
+ "\"key_998\": \"val_998\"," \
+ "\"key_999\": \"val_999\"," \
+ "\"END_KEY\": \"JSON_END\"" \
+ "}]"
+
diff --git a/fluent-bit/tests/runtime/data/common/json_small.h b/fluent-bit/tests/runtime/data/common/json_small.h
new file mode 100755
index 00000000..b4af842f
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/common/json_small.h
@@ -0,0 +1,256 @@
+#define JSON_SMALL "[" \
+ "1448403340," \
+ "{" \
+ "\"key_0\": false," \
+ "\"key_1\": false," \
+ "\"key_2\": false," \
+ "\"key_3\": false," \
+ "\"key_4\": false," \
+ "\"key_5\": false," \
+ "\"key_6\": false," \
+ "\"key_7\": false," \
+ "\"key_8\": false," \
+ "\"key_9\": false," \
+ "\"key_10\": false," \
+ "\"key_11\": false," \
+ "\"key_12\": false," \
+ "\"key_13\": false," \
+ "\"key_14\": false," \
+ "\"key_15\": false," \
+ "\"key_16\": false," \
+ "\"key_17\": false," \
+ "\"key_18\": false," \
+ "\"key_19\": false," \
+ "\"key_20\": false," \
+ "\"key_21\": false," \
+ "\"key_22\": false," \
+ "\"key_23\": false," \
+ "\"key_24\": false," \
+ "\"key_25\": false," \
+ "\"key_26\": false," \
+ "\"key_27\": false," \
+ "\"key_28\": false," \
+ "\"key_29\": false," \
+ "\"key_30\": false," \
+ "\"key_31\": false," \
+ "\"key_32\": false," \
+ "\"key_33\": false," \
+ "\"key_34\": false," \
+ "\"key_35\": false," \
+ "\"key_36\": false," \
+ "\"key_37\": false," \
+ "\"key_38\": false," \
+ "\"key_39\": false," \
+ "\"key_40\": false," \
+ "\"key_41\": false," \
+ "\"key_42\": false," \
+ "\"key_43\": false," \
+ "\"key_44\": false," \
+ "\"key_45\": false," \
+ "\"key_46\": false," \
+ "\"key_47\": false," \
+ "\"key_48\": false," \
+ "\"key_49\": false," \
+ "\"key_50\": false," \
+ "\"key_51\": false," \
+ "\"key_52\": false," \
+ "\"key_53\": false," \
+ "\"key_54\": false," \
+ "\"key_55\": false," \
+ "\"key_56\": false," \
+ "\"key_57\": false," \
+ "\"key_58\": false," \
+ "\"key_59\": false," \
+ "\"key_60\": false," \
+ "\"key_61\": false," \
+ "\"key_62\": false," \
+ "\"key_63\": false," \
+ "\"key_64\": false," \
+ "\"key_65\": false," \
+ "\"key_66\": false," \
+ "\"key_67\": false," \
+ "\"key_68\": false," \
+ "\"key_69\": false," \
+ "\"key_70\": false," \
+ "\"key_71\": false," \
+ "\"key_72\": false," \
+ "\"key_73\": false," \
+ "\"key_74\": false," \
+ "\"key_75\": false," \
+ "\"key_76\": false," \
+ "\"key_77\": false," \
+ "\"key_78\": false," \
+ "\"key_79\": false," \
+ "\"key_80\": false," \
+ "\"key_81\": false," \
+ "\"key_82\": false," \
+ "\"key_83\": false," \
+ "\"key_84\": false," \
+ "\"key_85\": false," \
+ "\"key_86\": false," \
+ "\"key_87\": false," \
+ "\"key_88\": false," \
+ "\"key_89\": false," \
+ "\"key_90\": false," \
+ "\"key_91\": false," \
+ "\"key_92\": false," \
+ "\"key_93\": false," \
+ "\"key_94\": false," \
+ "\"key_95\": false," \
+ "\"key_96\": false," \
+ "\"key_97\": false," \
+ "\"key_98\": false," \
+ "\"key_99\": false," \
+ "\"key_100\": false," \
+ "\"key_101\": false," \
+ "\"key_102\": false," \
+ "\"key_103\": false," \
+ "\"key_104\": false," \
+ "\"key_105\": false," \
+ "\"key_106\": false," \
+ "\"key_107\": false," \
+ "\"key_108\": false," \
+ "\"key_109\": false," \
+ "\"key_110\": false," \
+ "\"key_111\": false," \
+ "\"key_112\": false," \
+ "\"key_113\": false," \
+ "\"key_114\": false," \
+ "\"key_115\": false," \
+ "\"key_116\": false," \
+ "\"key_117\": false," \
+ "\"key_118\": false," \
+ "\"key_119\": false," \
+ "\"key_120\": false," \
+ "\"key_121\": false," \
+ "\"key_122\": false," \
+ "\"key_123\": false," \
+ "\"key_124\": false," \
+ "\"key_125\": false," \
+ "\"key_126\": false," \
+ "\"key_127\": false," \
+ "\"key_128\": false," \
+ "\"key_129\": false," \
+ "\"key_130\": false," \
+ "\"key_131\": false," \
+ "\"key_132\": false," \
+ "\"key_133\": false," \
+ "\"key_134\": false," \
+ "\"key_135\": false," \
+ "\"key_136\": false," \
+ "\"key_137\": false," \
+ "\"key_138\": false," \
+ "\"key_139\": false," \
+ "\"key_140\": false," \
+ "\"key_141\": false," \
+ "\"key_142\": false," \
+ "\"key_143\": false," \
+ "\"key_144\": false," \
+ "\"key_145\": false," \
+ "\"key_146\": false," \
+ "\"key_147\": false," \
+ "\"key_148\": false," \
+ "\"key_149\": false," \
+ "\"key_150\": false," \
+ "\"key_151\": false," \
+ "\"key_152\": false," \
+ "\"key_153\": false," \
+ "\"key_154\": false," \
+ "\"key_155\": false," \
+ "\"key_156\": false," \
+ "\"key_157\": false," \
+ "\"key_158\": false," \
+ "\"key_159\": false," \
+ "\"key_160\": false," \
+ "\"key_161\": false," \
+ "\"key_162\": false," \
+ "\"key_163\": false," \
+ "\"key_164\": false," \
+ "\"key_165\": false," \
+ "\"key_166\": false," \
+ "\"key_167\": false," \
+ "\"key_168\": false," \
+ "\"key_169\": false," \
+ "\"key_170\": false," \
+ "\"key_171\": false," \
+ "\"key_172\": false," \
+ "\"key_173\": false," \
+ "\"key_174\": false," \
+ "\"key_175\": false," \
+ "\"key_176\": false," \
+ "\"key_177\": false," \
+ "\"key_178\": false," \
+ "\"key_179\": false," \
+ "\"key_180\": false," \
+ "\"key_181\": false," \
+ "\"key_182\": false," \
+ "\"key_183\": false," \
+ "\"key_184\": false," \
+ "\"key_185\": false," \
+ "\"key_186\": false," \
+ "\"key_187\": false," \
+ "\"key_188\": false," \
+ "\"key_189\": false," \
+ "\"key_190\": false," \
+ "\"key_191\": false," \
+ "\"key_192\": false," \
+ "\"key_193\": false," \
+ "\"key_194\": false," \
+ "\"key_195\": false," \
+ "\"key_196\": false," \
+ "\"key_197\": false," \
+ "\"key_198\": false," \
+ "\"key_199\": false," \
+ "\"key_200\": false," \
+ "\"key_201\": false," \
+ "\"key_202\": false," \
+ "\"key_203\": false," \
+ "\"key_204\": false," \
+ "\"key_205\": false," \
+ "\"key_206\": false," \
+ "\"key_207\": false," \
+ "\"key_208\": false," \
+ "\"key_209\": false," \
+ "\"key_210\": false," \
+ "\"key_211\": false," \
+ "\"key_212\": false," \
+ "\"key_213\": false," \
+ "\"key_214\": false," \
+ "\"key_215\": false," \
+ "\"key_216\": false," \
+ "\"key_217\": false," \
+ "\"key_218\": false," \
+ "\"key_219\": false," \
+ "\"key_220\": false," \
+ "\"key_221\": false," \
+ "\"key_222\": false," \
+ "\"key_223\": false," \
+ "\"key_224\": false," \
+ "\"key_225\": false," \
+ "\"key_226\": false," \
+ "\"key_227\": false," \
+ "\"key_228\": false," \
+ "\"key_229\": false," \
+ "\"key_230\": false," \
+ "\"key_231\": false," \
+ "\"key_232\": false," \
+ "\"key_233\": false," \
+ "\"key_234\": false," \
+ "\"key_235\": false," \
+ "\"key_236\": false," \
+ "\"key_237\": false," \
+ "\"key_238\": false," \
+ "\"key_239\": false," \
+ "\"key_240\": false," \
+ "\"key_241\": false," \
+ "\"key_242\": false," \
+ "\"key_243\": false," \
+ "\"key_244\": false," \
+ "\"key_245\": false," \
+ "\"key_246\": false," \
+ "\"key_247\": false," \
+ "\"key_248\": false," \
+ "\"key_249\": false," \
+ "\"END_KEY\": \"JSON_END\"" \
+ "}]"
+
diff --git a/fluent-bit/tests/runtime/data/common/parsers.conf b/fluent-bit/tests/runtime/data/common/parsers.conf
new file mode 120000
index 00000000..944111e3
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/common/parsers.conf
@@ -0,0 +1 @@
+../../../../conf/parsers.conf \ No newline at end of file
diff --git a/fluent-bit/tests/runtime/data/datadog/json.h b/fluent-bit/tests/runtime/data/datadog/json.h
new file mode 100644
index 00000000..146dd532
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/datadog/json.h
@@ -0,0 +1,12 @@
+/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+
+#define JSON "[" \
+ "1448403340," \
+ "{" \
+ "\"key_0\": false," \
+ "\"key_1\": true," \
+ "\"key_2\": \"some string\"," \
+ "\"key_3\": 0.12345678," \
+ "\"key.4\": 5000," \
+ "\"END_KEY\": \"JSON_END\"" \
+ "}]"
diff --git a/fluent-bit/tests/runtime/data/es/json_es.h b/fluent-bit/tests/runtime/data/es/json_es.h
new file mode 100755
index 00000000..40f8ab1c
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/es/json_es.h
@@ -0,0 +1,17 @@
+/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+
+#define JSON_ES "[" \
+ "1448403340," \
+ "{" \
+ "\"key_0\": false," \
+ "\"key_1\": true," \
+ "\"key_2\": \"some string\"," \
+ "\"key_3\": 0.12345678," \
+ "\"key.4\": 5000," \
+ "\"END_KEY\": \"JSON_END\"" \
+ "}]"
+
+
+#define JSON_DOTS \
+ "[1448403340," \
+ "{\".le.vel\":\"error\", \".fo.o\":[{\".o.k\": [{\".b.ar\": \"baz\"}]}]}]"
diff --git a/fluent-bit/tests/runtime/data/in_elasticsearch/json_bulk.h b/fluent-bit/tests/runtime/data/in_elasticsearch/json_bulk.h
new file mode 100644
index 00000000..ca8f751c
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/in_elasticsearch/json_bulk.h
@@ -0,0 +1,25 @@
+/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+
+#define NDJSON_BULK "{ \"index\" : { \"_index\" : \"test\", \"_id\" : \"1\" } }\n" \
+ "{ \"field1\" : \"value1\" }\n" \
+ "{ \"delete\" : { \"_index\" : \"test\", \"_id\" : \"2\" } }\n" \
+ "{ \"create\" : { \"_index\" : \"test\", \"_id\" : \"3\" } }\n" \
+ "{ \"field1\" : \"value3\", \"field2\" : \"value4\" }\n" \
+ "{ \"update\" : {\"_id\" : \"1\", \"_index\" : \"test\"} }\n" \
+ "{ \"doc\" : {\"field2\" : \"value2\"} }\n" \
+ "{ \"index\" : { \"_index\" : \"test\", \"_id\" : \"10\" } }\n" \
+ "{ \"field1\" : \"value1\", \"a\": \"line\", \"that\" : \"is\", \"long\": \"line\", \"contained\": \"request\" }\n" \
+ "{ \"delete\" : { \"_index\" : \"test\", \"_id\" : \"20\" } }\n" \
+ "{ \"create\" : { \"_index\" : \"test\", \"_id\" : \"30\" } }\n" \
+ "{ \"field10\" : \"value30\", \"field20\" : \"value40\", \"message\": \"ok\" }\n" \
+ "{ \"update\" : {\"_id\" : \"10\", \"_index\" : \"test\"} }\n" \
+ "{ \"doc\" : {\"field20\" : \"value20\"} }\n" \
+ "{ \"index\" : { \"_index\" : \"test\", \"_id\" : \"11\" } }\n" \
+ "{ \"field11\" : \"value11\", \"nested\": {\"message\":\"ok\"} }\n" \
+ "{ \"delete\" : { \"_index\" : \"test\", \"_id\" : \"21\" } }\n" \
+ "{ \"create\" : { \"_index\" : \"test\", \"_id\" : \"31\" } }\n" \
+ "{ \"field11\" : \"value31\", \"field21\" : \"value41\", \"nested\": { \"multiply\": {\"message\": \"ok\"}} }\n" \
+ "{ \"update\" : {\"_id\" : \"11\", \"_index\" : \"test\"} }\n" \
+ "{ \"doc\" : {\"field21\" : \"value21\"} }\n" \
+ "{ \"index\" : { \"_index\" : \"test\", \"_id\" : \"41\" } }\n" \
+ "{ \"field41\" : \"value41\", \"nested\": {\"message\": \"ok\"} }\n"
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_default_text.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_default_text.log
new file mode 100644
index 00000000..d5cd3af5
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_default_text.log
@@ -0,0 +1,2 @@
+{"log":"Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"Simple text\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_invalid_text.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_invalid_text.log
new file mode 100644
index 00000000..d5cd3af5
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_invalid_text.log
@@ -0,0 +1,2 @@
+{"log":"Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"Simple text\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-1_container-1.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-1_container-1.log
new file mode 100644
index 00000000..d5cd3af5
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-1_container-1.log
@@ -0,0 +1,2 @@
+{"log":"Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"Simple text\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-1_container-2.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-1_container-2.log
new file mode 100644
index 00000000..d5cd3af5
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-1_container-2.log
@@ -0,0 +1,2 @@
+{"log":"Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"Simple text\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-1_container-3.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-1_container-3.log
new file mode 100644
index 00000000..d5cd3af5
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-1_container-3.log
@@ -0,0 +1,2 @@
+{"log":"Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"Simple text\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-1_container-4.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-1_container-4.log
new file mode 100644
index 00000000..d5cd3af5
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-1_container-4.log
@@ -0,0 +1,2 @@
+{"log":"Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"Simple text\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-2_container-1.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-2_container-1.log
new file mode 100644
index 00000000..d5cd3af5
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-2_container-1.log
@@ -0,0 +1,2 @@
+{"log":"Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"Simple text\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-2_container-2.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-2_container-2.log
new file mode 100644
index 00000000..d5cd3af5
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-2_container-2.log
@@ -0,0 +1,2 @@
+{"log":"Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"Simple text\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-2_container-3.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-2_container-3.log
new file mode 100644
index 00000000..d5cd3af5
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-2_container-3.log
@@ -0,0 +1,2 @@
+{"log":"Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"Simple text\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-2_container-4.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-2_container-4.log
new file mode 100644
index 00000000..d5cd3af5
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-2_container-4.log
@@ -0,0 +1,2 @@
+{"log":"Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"Simple text\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-3_container-1.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-3_container-1.log
new file mode 100644
index 00000000..d5cd3af5
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-3_container-1.log
@@ -0,0 +1,2 @@
+{"log":"Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"Simple text\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-3_container-2.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-3_container-2.log
new file mode 100644
index 00000000..d5cd3af5
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-3_container-2.log
@@ -0,0 +1,2 @@
+{"log":"Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"Simple text\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-3_container-3.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-3_container-3.log
new file mode 100644
index 00000000..d5cd3af5
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-3_container-3.log
@@ -0,0 +1,2 @@
+{"log":"Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"Simple text\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-3_container-4.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-3_container-4.log
new file mode 100644
index 00000000..d5cd3af5
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-3_container-4.log
@@ -0,0 +1,2 @@
+{"log":"Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"Simple text\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-4_container-1.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-4_container-1.log
new file mode 100644
index 00000000..d5cd3af5
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-4_container-1.log
@@ -0,0 +1,2 @@
+{"log":"Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"Simple text\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-4_container-2.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-4_container-2.log
new file mode 100644
index 00000000..d5cd3af5
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-4_container-2.log
@@ -0,0 +1,2 @@
+{"log":"Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"Simple text\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-4_container-3.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-4_container-3.log
new file mode 100644
index 00000000..d5cd3af5
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-4_container-3.log
@@ -0,0 +1,2 @@
+{"log":"Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"Simple text\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-4_container-4.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-4_container-4.log
new file mode 100644
index 00000000..d5cd3af5
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_multiple-4_container-4.log
@@ -0,0 +1,2 @@
+{"log":"Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"Simple text\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_stderr_text.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_stderr_text.log
new file mode 100644
index 00000000..a857f5ab
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_stderr_text.log
@@ -0,0 +1,2 @@
+{"log":"Simple text\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
+{"log":"Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_stdout_text.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_stdout_text.log
new file mode 100644
index 00000000..d5cd3af5
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-exclude/annotations-exclude_stdout_text.log
@@ -0,0 +1,2 @@
+{"log":"Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"Simple text\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_invalid_text.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_invalid_text.log
new file mode 100644
index 00000000..a857f5ab
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_invalid_text.log
@@ -0,0 +1,2 @@
+{"log":"Simple text\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
+{"log":"Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_json-with-time_invalid-json-1.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_json-with-time_invalid-json-1.log
new file mode 100644
index 00000000..65d77786
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_json-with-time_invalid-json-1.log
@@ -0,0 +1 @@
+{"log":"{\"time\":\"2019-04-05T14:54:23.584269761\",\"message\":\"Simple text\"]\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_json-with-time_json.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_json-with-time_json.log
new file mode 100644
index 00000000..d9dc4a39
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_json-with-time_json.log
@@ -0,0 +1 @@
+{"log":"{\"time\":\"2019-04-05T14:54:23.584269761\",\"message\":\"Simple text\"}\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-1_container-1.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-1_container-1.log
new file mode 100644
index 00000000..db4b14a8
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-1_container-1.log
@@ -0,0 +1,2 @@
+{"log":"[2019-04-05T14:54:23.584269761] Container 1 is logging on stdout\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"[2019-04-05T14:54:23.584269761] Container 1 is logging on stderr\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-1_container-2.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-1_container-2.log
new file mode 100644
index 00000000..d2f01a8b
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-1_container-2.log
@@ -0,0 +1,2 @@
+{"log":"[2019-04-05T14:54:23.584269761] Container 2 is logging on stdout\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"[2019-04-05T14:54:23.584269761] Container 2 is logging on stderr\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-1_container-3.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-1_container-3.log
new file mode 100644
index 00000000..edee75aa
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-1_container-3.log
@@ -0,0 +1,2 @@
+{"log":"[2019-04-05T14:54:23.584269761] Container 3 is logging on stdout\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"[2019-04-05T14:54:23.584269761] Container 3 is logging on stderr\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-1_container-4.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-1_container-4.log
new file mode 100644
index 00000000..48e1dabd
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-1_container-4.log
@@ -0,0 +1,2 @@
+{"log":"[2019-04-05T14:54:23.584269761] Container 4 is logging on stdout\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"[2019-04-05T14:54:23.584269761] Container 4 is logging on stderr\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-1_container-5.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-1_container-5.log
new file mode 100644
index 00000000..81e67c5f
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-1_container-5.log
@@ -0,0 +1,2 @@
+{"log":"[2019-04-05T14:54:23.584269761] Container 5 is logging on stdout\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"[2019-04-05T14:54:23.584269761] Container 5 is logging on stderr\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-2_container-1.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-2_container-1.log
new file mode 100644
index 00000000..db4b14a8
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-2_container-1.log
@@ -0,0 +1,2 @@
+{"log":"[2019-04-05T14:54:23.584269761] Container 1 is logging on stdout\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"[2019-04-05T14:54:23.584269761] Container 1 is logging on stderr\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-2_container-2.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-2_container-2.log
new file mode 100644
index 00000000..d2f01a8b
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-2_container-2.log
@@ -0,0 +1,2 @@
+{"log":"[2019-04-05T14:54:23.584269761] Container 2 is logging on stdout\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"[2019-04-05T14:54:23.584269761] Container 2 is logging on stderr\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-2_container-3.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-2_container-3.log
new file mode 100644
index 00000000..edee75aa
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-2_container-3.log
@@ -0,0 +1,2 @@
+{"log":"[2019-04-05T14:54:23.584269761] Container 3 is logging on stdout\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"[2019-04-05T14:54:23.584269761] Container 3 is logging on stderr\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-2_container-4.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-2_container-4.log
new file mode 100644
index 00000000..48e1dabd
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-2_container-4.log
@@ -0,0 +1,2 @@
+{"log":"[2019-04-05T14:54:23.584269761] Container 4 is logging on stdout\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"[2019-04-05T14:54:23.584269761] Container 4 is logging on stderr\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-2_container-5.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-2_container-5.log
new file mode 100644
index 00000000..81e67c5f
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_multiple-2_container-5.log
@@ -0,0 +1,2 @@
+{"log":"[2019-04-05T14:54:23.584269761] Container 5 is logging on stdout\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"[2019-04-05T14:54:23.584269761] Container 5 is logging on stderr\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_regex-with-time_invalid-text-1.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_regex-with-time_invalid-text-1.log
new file mode 100644
index 00000000..8e87678b
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_regex-with-time_invalid-text-1.log
@@ -0,0 +1 @@
+{"log":"2019-04-05T14:54:23.584269761 - Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_regex-with-time_text.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_regex-with-time_text.log
new file mode 100644
index 00000000..6e334835
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_regex-with-time_text.log
@@ -0,0 +1 @@
+{"log":"[2019-04-05T14:54:23.584269761] Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_stderr_text.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_stderr_text.log
new file mode 100644
index 00000000..c6e1e05f
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_stderr_text.log
@@ -0,0 +1,2 @@
+{"log":"[2019-04-05T14:54:23.584269761] Simple text\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
+{"log":"[2019-04-05T14:54:23.584269761] Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_stdout_text.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_stdout_text.log
new file mode 100644
index 00000000..c47aa000
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations-parser/annotations-parser_stdout_text.log
@@ -0,0 +1,2 @@
+{"log":"[2019-04-05T14:54:23.584269761] Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"[2019-04-05T14:54:23.584269761] Simple text\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/annotations/annotations_invalid_text.log b/fluent-bit/tests/runtime/data/kubernetes/log/annotations/annotations_invalid_text.log
new file mode 100644
index 00000000..59ad227f
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/annotations/annotations_invalid_text.log
@@ -0,0 +1 @@
+{"log":"Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/core/core_base_fluent-bit.log b/fluent-bit/tests/runtime/data/kubernetes/log/core/core_base_fluent-bit.log
new file mode 100644
index 00000000..25972313
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/core/core_base_fluent-bit.log
@@ -0,0 +1 @@
+{"log":"Fluent Bit is logging\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/core/core_no-meta_text.log b/fluent-bit/tests/runtime/data/kubernetes/log/core/core_no-meta_text.log
new file mode 100644
index 00000000..59ad227f
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/core/core_no-meta_text.log
@@ -0,0 +1 @@
+{"log":"Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/core/core_unescaping_json.log b/fluent-bit/tests/runtime/data/kubernetes/log/core/core_unescaping_json.log
new file mode 100644
index 00000000..0cf6e441
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/core/core_unescaping_json.log
@@ -0,0 +1 @@
+{"log":"{\"stringified-json\":\"{\\\"stringified-json\\\":\\\"{\\\\\\\"stringified-json\\\\\\\":\\\\\\\"\\\\\\\"}\\\"}\",\"text\":\"quoted \\\"text with embedded quoted \\\\\\\"text\\\\\\\"\\\"\"}\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/core/core_unescaping_text.log b/fluent-bit/tests/runtime/data/kubernetes/log/core/core_unescaping_text.log
new file mode 100644
index 00000000..55c67368
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/core/core_unescaping_text.log
@@ -0,0 +1 @@
+{"log":"Text with embedded quoted \"text with embedded quoted \\\"text with embedded quoted \\\\\\\"text\\\\\\\"\\\"\"\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/options/options_k8s-logging-exclude-disabled_text.log b/fluent-bit/tests/runtime/data/kubernetes/log/options/options_k8s-logging-exclude-disabled_text.log
new file mode 100644
index 00000000..d5cd3af5
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/options/options_k8s-logging-exclude-disabled_text.log
@@ -0,0 +1,2 @@
+{"log":"Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"Simple text\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/options/options_k8s-logging-parser-disabled_text.log b/fluent-bit/tests/runtime/data/kubernetes/log/options/options_k8s-logging-parser-disabled_text.log
new file mode 100644
index 00000000..d5cd3af5
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/options/options_k8s-logging-parser-disabled_text.log
@@ -0,0 +1,2 @@
+{"log":"Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
+{"log":"Simple text\n","stream":"stderr","time":"2019-04-01T17:58:33.698656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/options/options_keep-log-disabled_json.log b/fluent-bit/tests/runtime/data/kubernetes/log/options/options_keep-log-disabled_json.log
new file mode 100644
index 00000000..e1410b0f
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/options/options_keep-log-disabled_json.log
@@ -0,0 +1 @@
+{"log":"{\"text\":\"Simple text\"}\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/options/options_keep-log-enabled_json.log b/fluent-bit/tests/runtime/data/kubernetes/log/options/options_keep-log-enabled_json.log
new file mode 100644
index 00000000..e1410b0f
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/options/options_keep-log-enabled_json.log
@@ -0,0 +1 @@
+{"log":"{\"text\":\"Simple text\"}\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-disabled_json.log b/fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-disabled_json.log
new file mode 100644
index 00000000..e1410b0f
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-disabled_json.log
@@ -0,0 +1 @@
+{"log":"{\"text\":\"Simple text\"}\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-enabled_invalid-json.log b/fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-enabled_invalid-json.log
new file mode 100644
index 00000000..9b4e0dcb
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-enabled_invalid-json.log
@@ -0,0 +1 @@
+{"log":"{\"text\":\"Simple text\"]\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-enabled_json.log b/fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-enabled_json.log
new file mode 100644
index 00000000..e1410b0f
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-enabled_json.log
@@ -0,0 +1 @@
+{"log":"{\"text\":\"Simple text\"}\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-enabled_text.log b/fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-enabled_text.log
new file mode 100644
index 00000000..59ad227f
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-enabled_text.log
@@ -0,0 +1 @@
+{"log":"Simple text\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-key_json.log b/fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-key_json.log
new file mode 100644
index 00000000..e1410b0f
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-key_json.log
@@ -0,0 +1 @@
+{"log":"{\"text\":\"Simple text\"}\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-trim-disabled_json.log b/fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-trim-disabled_json.log
new file mode 100644
index 00000000..6dc59dc1
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-trim-disabled_json.log
@@ -0,0 +1 @@
+{"log":"{\"text\":\"Simple text\n\"}\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-trim-enabled_json.log b/fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-trim-enabled_json.log
new file mode 100644
index 00000000..6dc59dc1
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/options/options_merge-log-trim-enabled_json.log
@@ -0,0 +1 @@
+{"log":"{\"text\":\"Simple text\n\"}\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/options/options_use-kubelet-disabled_fluent-bit.log b/fluent-bit/tests/runtime/data/kubernetes/log/options/options_use-kubelet-disabled_fluent-bit.log
new file mode 100644
index 00000000..25972313
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/options/options_use-kubelet-disabled_fluent-bit.log
@@ -0,0 +1 @@
+{"log":"Fluent Bit is logging\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/log/options/options_use-kubelet-enabled_fluent-bit.log b/fluent-bit/tests/runtime/data/kubernetes/log/options/options_use-kubelet-enabled_fluent-bit.log
new file mode 100644
index 00000000..25972313
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/log/options/options_use-kubelet-enabled_fluent-bit.log
@@ -0,0 +1 @@
+{"log":"Fluent Bit is logging\n","stream":"stdout","time":"2019-04-01T17:58:33.598656444Z"}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_default.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_default.meta
new file mode 100644
index 00000000..e986f164
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_default.meta
@@ -0,0 +1,7 @@
+{
+ "metadata": {
+ "annotations": {
+ "fluentbit.io/exclude": "true"
+ }
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_invalid.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_invalid.meta
new file mode 100644
index 00000000..9f529a42
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_invalid.meta
@@ -0,0 +1,7 @@
+{
+ "metadata": {
+ "annotations": {
+ "fluentbit.io/exclude": "neither-true-nor-false"
+ }
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_multiple-1.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_multiple-1.meta
new file mode 100644
index 00000000..137d88e6
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_multiple-1.meta
@@ -0,0 +1,9 @@
+{
+ "metadata": {
+ "annotations": {
+ "fluentbit.io/exclude-container-1": "true",
+ "fluentbit.io/exclude_stdout-container-2": "true",
+ "fluentbit.io/exclude_stderr-container-3": "true"
+ }
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_multiple-2.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_multiple-2.meta
new file mode 100644
index 00000000..f9d1ded2
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_multiple-2.meta
@@ -0,0 +1,10 @@
+{
+ "metadata": {
+ "annotations": {
+ "fluentbit.io/exclude": "true",
+ "fluentbit.io/exclude_stderr-container-2": "false",
+ "fluentbit.io/exclude_stdout-container-3": "false",
+ "fluentbit.io/exclude-container-4": "false"
+ }
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_multiple-3.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_multiple-3.meta
new file mode 100644
index 00000000..bfcbb44b
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_multiple-3.meta
@@ -0,0 +1,11 @@
+{
+ "metadata": {
+ "annotations": {
+ "fluentbit.io/exclude_stdout": "true",
+ "fluentbit.io/exclude_stderr-container-1": "true",
+ "fluentbit.io/exclude_stdout-container-3": "false",
+ "fluentbit.io/exclude_stderr-container-3": "true",
+ "fluentbit.io/exclude_stdout-container-4": "false"
+ }
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_multiple-4.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_multiple-4.meta
new file mode 100644
index 00000000..1295d0ed
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_multiple-4.meta
@@ -0,0 +1,11 @@
+{
+ "metadata": {
+ "annotations": {
+ "fluentbit.io/exclude_stderr": "true",
+ "fluentbit.io/exclude_stdout-container-1": "true",
+ "fluentbit.io/exclude_stdout-container-2": "true",
+ "fluentbit.io/exclude_stderr-container-2": "false",
+ "fluentbit.io/exclude_stderr-container-4": "false"
+ }
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_stderr.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_stderr.meta
new file mode 100644
index 00000000..b57831f5
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_stderr.meta
@@ -0,0 +1,7 @@
+{
+ "metadata": {
+ "annotations": {
+ "fluentbit.io/exclude_stderr": "true"
+ }
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_stdout.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_stdout.meta
new file mode 100644
index 00000000..db187f2e
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-exclude_stdout.meta
@@ -0,0 +1,7 @@
+{
+ "metadata": {
+ "annotations": {
+ "fluentbit.io/exclude_stdout": "true"
+ }
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_invalid.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_invalid.meta
new file mode 100644
index 00000000..676f2063
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_invalid.meta
@@ -0,0 +1,7 @@
+{
+ "metadata": {
+ "annotations": {
+ "fluentbit.io/parser": "invalid-parser"
+ }
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_json-with-time.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_json-with-time.meta
new file mode 100644
index 00000000..9bdba685
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_json-with-time.meta
@@ -0,0 +1,7 @@
+{
+ "metadata": {
+ "annotations": {
+ "fluentbit.io/parser": "json-parser-with-time"
+ }
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_json-without-time.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_json-without-time.meta
new file mode 100644
index 00000000..2195ae0d
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_json-without-time.meta
@@ -0,0 +1,7 @@
+{
+ "metadata": {
+ "annotations": {
+ "fluentbit.io/parser": "json-parser-without-time"
+ }
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_multiple-1.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_multiple-1.meta
new file mode 100644
index 00000000..51420a87
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_multiple-1.meta
@@ -0,0 +1,12 @@
+{
+ "metadata": {
+ "annotations": {
+ "fluentbit.io/parser-container-1": "container-1-parser",
+ "fluentbit.io/parser_stdout-container-2": "container-2-stdout-parser",
+ "fluentbit.io/parser_stderr-container-2": "container-2-stderr-parser",
+ "fluentbit.io/parser_stdout-container-3": "container-3-stdout-parser",
+ "fluentbit.io/parser_stderr-container-4": "container-4-stderr-parser",
+ "fluentbit.io/parser": "default-parser"
+ }
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_multiple-2.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_multiple-2.meta
new file mode 100644
index 00000000..b3bb2bdc
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_multiple-2.meta
@@ -0,0 +1,13 @@
+{
+ "metadata": {
+ "annotations": {
+ "fluentbit.io/parser-container-1": "container-1-parser",
+ "fluentbit.io/parser_stdout-container-2": "container-2-stdout-parser",
+ "fluentbit.io/parser_stderr-container-2": "container-2-stderr-parser",
+ "fluentbit.io/parser_stdout-container-3": "container-3-stdout-parser",
+ "fluentbit.io/parser_stderr-container-4": "container-4-stderr-parser",
+ "fluentbit.io/parser_stdout": "default-stdout-parser",
+ "fluentbit.io/parser_stderr": "default-stderr-parser"
+ }
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_regex-with-time.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_regex-with-time.meta
new file mode 100644
index 00000000..e098a81d
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_regex-with-time.meta
@@ -0,0 +1,7 @@
+{
+ "metadata": {
+ "annotations": {
+ "fluentbit.io/parser": "regex-parser-with-time"
+ }
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_regex-without-time.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_regex-without-time.meta
new file mode 100644
index 00000000..8a43354b
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_regex-without-time.meta
@@ -0,0 +1,7 @@
+{
+ "metadata": {
+ "annotations": {
+ "fluentbit.io/parser": "regex-parser-without-time"
+ }
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_stderr.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_stderr.meta
new file mode 100644
index 00000000..6a869276
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_stderr.meta
@@ -0,0 +1,7 @@
+{
+ "metadata": {
+ "annotations": {
+ "fluentbit.io/parser_stderr": "default-stderr-parser"
+ }
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_stdout.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_stdout.meta
new file mode 100644
index 00000000..1b9fd148
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations-parser_stdout.meta
@@ -0,0 +1,7 @@
+{
+ "metadata": {
+ "annotations": {
+ "fluentbit.io/parser_stdout": "default-stdout-parser"
+ }
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/annotations_invalid.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations_invalid.meta
new file mode 100644
index 00000000..a1bc934a
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/annotations_invalid.meta
@@ -0,0 +1,12 @@
+{
+ "metadata": {
+ "annotations": {
+ "fluentbit.io/invalid": "true",
+ "fluentbit.io/exclude_": "true",
+ "fluentbit.io/exclude_invalid": "true",
+ "fluentbit.io/exclude_stdout-": "true",
+ "fluentbit.io/exclude-": "true",
+ "fluentbit.io/exclude+": "true"
+ }
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/core_base.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/core_base.meta
new file mode 100644
index 00000000..3ccca443
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/core_base.meta
@@ -0,0 +1,116 @@
+{
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "metadata": {
+ "annotations": {
+ "prometheus.io/path": "/api/v1/metrics/prometheus",
+ "prometheus.io/port": "2020",
+ "prometheus.io/scrape": "true"
+ },
+ "creationTimestamp": "2019-04-03T09:29:00Z",
+ "labels": {
+ "app.kubernetes.io/name": "fluent-bit"
+ },
+ "name": "base",
+ "namespace": "core",
+ "resourceVersion": "74466568",
+ "selfLink": "/api/v1/namespaces/core/pods/base",
+ "uid": "e9f2963f-55f2-11e9-84c5-02e422b8a84a"
+ },
+ "spec": {
+ "containers": [
+ {
+ "image": "fluent/fluent-bit",
+ "imagePullPolicy": "Always",
+ "name": "fluent-bit",
+ "resources": {},
+ "stdin": true,
+ "stdinOnce": true,
+ "terminationMessagePath": "/dev/termination-log",
+ "terminationMessagePolicy": "File",
+ "tty": true,
+ "volumeMounts": [
+ {
+ "mountPath": "/var/run/secrets/kubernetes.io/serviceaccount",
+ "name": "default-token-9ffht",
+ "readOnly": true
+ }
+ ]
+ }
+ ],
+ "dnsPolicy": "ClusterFirst",
+ "nodeName": "ip-10-49-18-80.eu-west-1.compute.internal",
+ "restartPolicy": "Never",
+ "schedulerName": "default-scheduler",
+ "securityContext": {},
+ "serviceAccount": "default",
+ "serviceAccountName": "default",
+ "terminationGracePeriodSeconds": 30,
+ "tolerations": [
+ {
+ "effect": "NoExecute",
+ "key": "node.kubernetes.io/not-ready",
+ "operator": "Exists",
+ "tolerationSeconds": 300
+ },
+ {
+ "effect": "NoExecute",
+ "key": "node.kubernetes.io/unreachable",
+ "operator": "Exists",
+ "tolerationSeconds": 300
+ }
+ ],
+ "volumes": [
+ {
+ "name": "default-token-9ffht",
+ "secret": {
+ "defaultMode": 420,
+ "secretName": "default-token-9ffht"
+ }
+ }
+ ]
+ },
+ "status": {
+ "conditions": [
+ {
+ "lastProbeTime": null,
+ "lastTransitionTime": "2019-04-03T09:29:00Z",
+ "status": "True",
+ "type": "Initialized"
+ },
+ {
+ "lastProbeTime": null,
+ "lastTransitionTime": "2019-04-03T09:29:06Z",
+ "status": "True",
+ "type": "Ready"
+ },
+ {
+ "lastProbeTime": null,
+ "lastTransitionTime": "2019-04-03T09:29:00Z",
+ "status": "True",
+ "type": "PodScheduled"
+ }
+ ],
+ "containerStatuses": [
+ {
+ "containerID": "docker://c9898099f6d235126d564ed38a020007ea7a6fac6e25e718de683c9dd0076c16",
+ "image": "fluent/fluent-bit:latest",
+ "imageID": "docker-pullable://fluent/fluent-bit@sha256:7ac0fd3569af866e9a6a22eb592744200d2dbe098cf066162453f8d0b06c531f",
+ "lastState": {},
+ "name": "fluent-bit",
+ "ready": true,
+ "restartCount": 0,
+ "state": {
+ "running": {
+ "startedAt": "2019-04-03T09:29:05Z"
+ }
+ }
+ }
+ ],
+ "hostIP": "10.49.18.80",
+ "phase": "Running",
+ "podIP": "100.116.192.42",
+ "qosClass": "BestEffort",
+ "startTime": "2019-04-03T09:29:00Z"
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/core_no-meta.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/core_no-meta.meta
new file mode 100644
index 00000000..0967ef42
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/core_no-meta.meta
@@ -0,0 +1 @@
+{}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/core_unescaping.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/core_unescaping.meta
new file mode 100644
index 00000000..4e9f5aa3
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/core_unescaping.meta
@@ -0,0 +1,4 @@
+{
+ "metadata": {
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/default_kairosdb-914055854-b63vq.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/default_kairosdb-914055854-b63vq.meta
new file mode 100644
index 00000000..90109bfe
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/default_kairosdb-914055854-b63vq.meta
@@ -0,0 +1,155 @@
+{
+ "kind": "Pod",
+ "apiVersion": "v1",
+ "metadata": {
+ "name": "kairosdb-914055854-b63vq",
+ "generateName": "kairosdb-914055854-",
+ "namespace": "default",
+ "selfLink": "/api/v1/namespaces/default/pods/kairosdb-914055854-b63vq",
+ "uid": "d6c53deb-05a4-11e8-a8c4-080027435fb7",
+ "resourceVersion": "25205",
+ "creationTimestamp": "2018-01-30T10:03:37Z",
+ "labels": {
+ "name": "kairosdb",
+ "pod-template-hash": "914055854"
+ },
+ "annotations": {
+ "kubernetes.io/created-by": "{\"kind\":\"SerializedReference\",\"apiVersion\":\"v1\",\"reference\":{\"kind\":\"ReplicaSet\",\"namespace\":\"default\",\"name\":\"kairosdb-914055854\",\"uid\":\"d6c2f841-05a4-11e8-a8c4-080027435fb7\",\"apiVersion\":\"extensions\",\"resourceVersion\":\"1592\"}}\n"
+ },
+ "ownerReferences": [
+ {
+ "apiVersion": "extensions/v1beta1",
+ "kind": "ReplicaSet",
+ "name": "kairosdb-914055854",
+ "uid": "d6c2f841-05a4-11e8-a8c4-080027435fb7",
+ "controller": true,
+ "blockOwnerDeletion": true
+ }
+ ]
+ },
+ "spec": {
+ "volumes": [
+ {
+ "name": "default-token-vv11j",
+ "secret": {
+ "secretName": "default-token-vv11j",
+ "defaultMode": 420
+ }
+ }
+ ],
+ "containers": [
+ {
+ "name": "kairosdb",
+ "image": "docker.io/davradocker/docker-kairosdb:1.1.1_9",
+ "env": [
+ {
+ "name": "kairosdb_http_port",
+ "value": "58080"
+ },
+ {
+ "name": "kairosdb_datastore_cassandra_host_list",
+ "valueFrom": {
+ "configMapKeyRef": {
+ "name": "cassandra-config",
+ "key": "cassandra.nodeports"
+ }
+ }
+ },
+ {
+ "name": "kairosdb_ttl",
+ "value": "315360000"
+ },
+ {
+ "name": "_JAVA_OPTIONS",
+ "value": "-Xms128m -Xmx512m"
+ }
+ ],
+ "resources": {},
+ "volumeMounts": [
+ {
+ "name": "default-token-vv11j",
+ "readOnly": true,
+ "mountPath": "/var/run/secrets/kubernetes.io/serviceaccount"
+ }
+ ],
+ "livenessProbe": {
+ "httpGet": {
+ "path": "/api/v1/metricnames",
+ "port": 58080,
+ "scheme": "HTTP"
+ },
+ "initialDelaySeconds": 20,
+ "timeoutSeconds": 1,
+ "periodSeconds": 1,
+ "successThreshold": 1,
+ "failureThreshold": 1
+ },
+ "terminationMessagePath": "/dev/termination-log",
+ "terminationMessagePolicy": "File",
+ "imagePullPolicy": "IfNotPresent",
+ "securityContext": {
+ "privileged": false
+ }
+ }
+ ],
+ "restartPolicy": "Always",
+ "terminationGracePeriodSeconds": 30,
+ "dnsPolicy": "ClusterFirst",
+ "serviceAccountName": "default",
+ "serviceAccount": "default",
+ "nodeName": "192.168.10.169",
+ "securityContext": {},
+ "schedulerName": "default-scheduler"
+ },
+ "status": {
+ "phase": "Running",
+ "conditions": [
+ {
+ "type": "Initialized",
+ "status": "True",
+ "lastProbeTime": null,
+ "lastTransitionTime": "2018-01-30T10:03:37Z"
+ },
+ {
+ "type": "Ready",
+ "status": "True",
+ "lastProbeTime": null,
+ "lastTransitionTime": "2018-02-27T07:28:45Z"
+ },
+ {
+ "type": "PodScheduled",
+ "status": "True",
+ "lastProbeTime": null,
+ "lastTransitionTime": "2018-01-30T10:03:37Z"
+ }
+ ],
+ "hostIP": "192.168.10.169",
+ "podIP": "10.2.39.12",
+ "startTime": "2018-01-30T10:03:37Z",
+ "containerStatuses": [
+ {
+ "name": "kairosdb",
+ "state": {
+ "running": {
+ "startedAt": "2018-02-27T07:28:45Z"
+ }
+ },
+ "lastState": {
+ "terminated": {
+ "exitCode": 0,
+ "reason": "Completed",
+ "startedAt": "2018-02-27T07:27:13Z",
+ "finishedAt": "2018-02-27T07:27:16Z",
+ "containerID": "docker://5bc9f63b02c09d7726ed3669f734b365f90e077e77a88c4a2f004459772bf912"
+ }
+ },
+ "ready": true,
+ "restartCount": 20,
+ "image": "davradocker/docker-kairosdb:1.1.1_9",
+ "imageID": "docker-pullable://davradocker/docker-kairosdb@sha256:2ee07e3f3ba61b96597c78ab0aa7b837d771b375888b020da7a7316bb524b6e8",
+ "containerID": "docker://02d45318f220ad01109d13df31fbbb0668b87fdd06ef6607abfdecf5eba4b311"
+ }
+ ],
+ "qosClass": "BestEffort"
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/options_k8s-logging-exclude-disabled.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/options_k8s-logging-exclude-disabled.meta
new file mode 100644
index 00000000..e986f164
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/options_k8s-logging-exclude-disabled.meta
@@ -0,0 +1,7 @@
+{
+ "metadata": {
+ "annotations": {
+ "fluentbit.io/exclude": "true"
+ }
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/options_k8s-logging-parser-disabled.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/options_k8s-logging-parser-disabled.meta
new file mode 100644
index 00000000..b922088e
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/options_k8s-logging-parser-disabled.meta
@@ -0,0 +1,7 @@
+{
+ "metadata": {
+ "annotations": {
+ "fluentbit.io/parser": "default-parser"
+ }
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/options_keep-log-disabled.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/options_keep-log-disabled.meta
new file mode 100644
index 00000000..4e9f5aa3
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/options_keep-log-disabled.meta
@@ -0,0 +1,4 @@
+{
+ "metadata": {
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/options_keep-log-enabled.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/options_keep-log-enabled.meta
new file mode 100644
index 00000000..4e9f5aa3
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/options_keep-log-enabled.meta
@@ -0,0 +1,4 @@
+{
+ "metadata": {
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/options_merge-log-disabled.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/options_merge-log-disabled.meta
new file mode 100644
index 00000000..4e9f5aa3
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/options_merge-log-disabled.meta
@@ -0,0 +1,4 @@
+{
+ "metadata": {
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/options_merge-log-enabled.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/options_merge-log-enabled.meta
new file mode 100644
index 00000000..4e9f5aa3
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/options_merge-log-enabled.meta
@@ -0,0 +1,4 @@
+{
+ "metadata": {
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/options_merge-log-key.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/options_merge-log-key.meta
new file mode 100644
index 00000000..4e9f5aa3
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/options_merge-log-key.meta
@@ -0,0 +1,4 @@
+{
+ "metadata": {
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/options_merge-log-trim-disabled.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/options_merge-log-trim-disabled.meta
new file mode 100644
index 00000000..4e9f5aa3
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/options_merge-log-trim-disabled.meta
@@ -0,0 +1,4 @@
+{
+ "metadata": {
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/options_merge-log-trim-enabled.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/options_merge-log-trim-enabled.meta
new file mode 100644
index 00000000..4e9f5aa3
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/options_merge-log-trim-enabled.meta
@@ -0,0 +1,4 @@
+{
+ "metadata": {
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/options_use-kubelet-disabled.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/options_use-kubelet-disabled.meta
new file mode 100644
index 00000000..ce693695
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/options_use-kubelet-disabled.meta
@@ -0,0 +1,116 @@
+{
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "metadata": {
+ "annotations": {
+ "prometheus.io/path": "/api/v1/metrics/prometheus",
+ "prometheus.io/port": "2020",
+ "prometheus.io/scrape": "true"
+ },
+ "creationTimestamp": "2019-04-03T09:29:00Z",
+ "labels": {
+ "app.kubernetes.io/name": "fluent-bit"
+ },
+ "name": "use-kubelet-disabled",
+ "namespace": "options",
+ "resourceVersion": "74466568",
+ "selfLink": "/api/v1/namespaces/core/pods/base",
+ "uid": "e9f2963f-55f2-11e9-84c5-02e422b8a84a"
+ },
+ "spec": {
+ "containers": [
+ {
+ "image": "fluent/fluent-bit",
+ "imagePullPolicy": "Always",
+ "name": "fluent-bit",
+ "resources": {},
+ "stdin": true,
+ "stdinOnce": true,
+ "terminationMessagePath": "/dev/termination-log",
+ "terminationMessagePolicy": "File",
+ "tty": true,
+ "volumeMounts": [
+ {
+ "mountPath": "/var/run/secrets/kubernetes.io/serviceaccount",
+ "name": "default-token-9ffht",
+ "readOnly": true
+ }
+ ]
+ }
+ ],
+ "dnsPolicy": "ClusterFirst",
+ "nodeName": "ip-10-49-18-80.eu-west-1.compute.internal",
+ "restartPolicy": "Never",
+ "schedulerName": "default-scheduler",
+ "securityContext": {},
+ "serviceAccount": "default",
+ "serviceAccountName": "default",
+ "terminationGracePeriodSeconds": 30,
+ "tolerations": [
+ {
+ "effect": "NoExecute",
+ "key": "node.kubernetes.io/not-ready",
+ "operator": "Exists",
+ "tolerationSeconds": 300
+ },
+ {
+ "effect": "NoExecute",
+ "key": "node.kubernetes.io/unreachable",
+ "operator": "Exists",
+ "tolerationSeconds": 300
+ }
+ ],
+ "volumes": [
+ {
+ "name": "default-token-9ffht",
+ "secret": {
+ "defaultMode": 420,
+ "secretName": "default-token-9ffht"
+ }
+ }
+ ]
+ },
+ "status": {
+ "conditions": [
+ {
+ "lastProbeTime": null,
+ "lastTransitionTime": "2019-04-03T09:29:00Z",
+ "status": "True",
+ "type": "Initialized"
+ },
+ {
+ "lastProbeTime": null,
+ "lastTransitionTime": "2019-04-03T09:29:06Z",
+ "status": "True",
+ "type": "Ready"
+ },
+ {
+ "lastProbeTime": null,
+ "lastTransitionTime": "2019-04-03T09:29:00Z",
+ "status": "True",
+ "type": "PodScheduled"
+ }
+ ],
+ "containerStatuses": [
+ {
+ "containerID": "docker://c9898099f6d235126d564ed38a020007ea7a6fac6e25e718de683c9dd0076c16",
+ "image": "fluent/fluent-bit:latest",
+ "imageID": "docker-pullable://fluent/fluent-bit@sha256:7ac0fd3569af866e9a6a22eb592744200d2dbe098cf066162453f8d0b06c531f",
+ "lastState": {},
+ "name": "fluent-bit",
+ "ready": true,
+ "restartCount": 0,
+ "state": {
+ "running": {
+ "startedAt": "2019-04-03T09:29:05Z"
+ }
+ }
+ }
+ ],
+ "hostIP": "10.49.18.80",
+ "phase": "Running",
+ "podIP": "100.116.192.42",
+ "qosClass": "BestEffort",
+ "startTime": "2019-04-03T09:29:00Z"
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/meta/options_use-kubelet-enabled.meta b/fluent-bit/tests/runtime/data/kubernetes/meta/options_use-kubelet-enabled.meta
new file mode 100644
index 00000000..af9fb1a3
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/meta/options_use-kubelet-enabled.meta
@@ -0,0 +1,109 @@
+{
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "metadata": {},
+ "items": [{
+ "metadata": {
+ "annotations": {
+ "prometheus.io/path": "/api/v1/metrics/prometheus",
+ "prometheus.io/port": "2020",
+ "prometheus.io/scrape": "true"
+ },
+ "creationTimestamp": "2019-04-03T09:29:00Z",
+ "labels": {
+ "app.kubernetes.io/name": "fluent-bit"
+ },
+ "name": "use-kubelet-enabled",
+ "namespace": "options",
+ "resourceVersion": "74466568",
+ "selfLink": "/api/v1/namespaces/core/pods/base",
+ "uid": "e9f2963f-55f2-11e9-84c5-02e422b8a84a"
+ },
+ "spec": {
+ "containers": [{
+ "image": "fluent/fluent-bit",
+ "imagePullPolicy": "Always",
+ "name": "fluent-bit",
+ "resources": {},
+ "stdin": true,
+ "stdinOnce": true,
+ "terminationMessagePath": "/dev/termination-log",
+ "terminationMessagePolicy": "File",
+ "tty": true,
+ "volumeMounts": [{
+ "mountPath": "/var/run/secrets/kubernetes.io/serviceaccount",
+ "name": "default-token-9ffht",
+ "readOnly": true
+ }]
+ }],
+ "dnsPolicy": "ClusterFirst",
+ "nodeName": "ip-10-49-18-80.eu-west-1.compute.internal",
+ "restartPolicy": "Never",
+ "schedulerName": "default-scheduler",
+ "securityContext": {},
+ "serviceAccount": "default",
+ "serviceAccountName": "default",
+ "terminationGracePeriodSeconds": 30,
+ "tolerations": [{
+ "effect": "NoExecute",
+ "key": "node.kubernetes.io/not-ready",
+ "operator": "Exists",
+ "tolerationSeconds": 300
+ },
+ {
+ "effect": "NoExecute",
+ "key": "node.kubernetes.io/unreachable",
+ "operator": "Exists",
+ "tolerationSeconds": 300
+ }
+ ],
+ "volumes": [{
+ "name": "default-token-9ffht",
+ "secret": {
+ "defaultMode": 420,
+ "secretName": "default-token-9ffht"
+ }
+ }]
+ },
+ "status": {
+ "conditions": [{
+ "lastProbeTime": null,
+ "lastTransitionTime": "2019-04-03T09:29:00Z",
+ "status": "True",
+ "type": "Initialized"
+ },
+ {
+ "lastProbeTime": null,
+ "lastTransitionTime": "2019-04-03T09:29:06Z",
+ "status": "True",
+ "type": "Ready"
+ },
+ {
+ "lastProbeTime": null,
+ "lastTransitionTime": "2019-04-03T09:29:00Z",
+ "status": "True",
+ "type": "PodScheduled"
+ }
+ ],
+ "containerStatuses": [{
+ "containerID": "docker://c9898099f6d235126d564ed38a020007ea7a6fac6e25e718de683c9dd0076c16",
+ "image": "fluent/fluent-bit:latest",
+ "imageID": "docker-pullable://fluent/fluent-bit@sha256:7ac0fd3569af866e9a6a22eb592744200d2dbe098cf066162453f8d0b06c531f",
+ "lastState": {},
+ "name": "fluent-bit",
+ "ready": true,
+ "restartCount": 0,
+ "state": {
+ "running": {
+ "startedAt": "2019-04-03T09:29:05Z"
+ }
+ }
+ }],
+ "hostIP": "10.49.18.80",
+ "phase": "Running",
+ "podIP": "100.116.192.42",
+ "qosClass": "BestEffort",
+ "startTime": "2019-04-03T09:29:00Z"
+ }
+ }]
+}
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_invalid_text_stderr.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_invalid_text_stderr.out
new file mode 100644
index 00000000..14703ca6
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_invalid_text_stderr.out
@@ -0,0 +1 @@
+[1554141513.698657,{"log":"Simple text\n","stream":"stderr","kubernetes":{"pod_name":"invalid","namespace_name":"annotations-exclude","annotations":{"fluentbit.io/exclude":"neither-true-nor-false"},"container_name":"text"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_invalid_text_stdout.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_invalid_text_stdout.out
new file mode 100644
index 00000000..66bcbba9
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_invalid_text_stdout.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"Simple text\n","stream":"stdout","kubernetes":{"pod_name":"invalid","namespace_name":"annotations-exclude","annotations":{"fluentbit.io/exclude":"neither-true-nor-false"},"container_name":"text"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-1_container-2_stderr.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-1_container-2_stderr.out
new file mode 100644
index 00000000..8f22e1d4
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-1_container-2_stderr.out
@@ -0,0 +1 @@
+[1554141513.698657,{"log":"Simple text\n","stream":"stderr","kubernetes":{"pod_name":"multiple-1","namespace_name":"annotations-exclude","annotations":{"fluentbit.io/exclude-container-1":"true","fluentbit.io/exclude_stdout-container-2":"true","fluentbit.io/exclude_stderr-container-3":"true"},"container_name":"container-2"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-1_container-3_stdout.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-1_container-3_stdout.out
new file mode 100644
index 00000000..f534e361
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-1_container-3_stdout.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"Simple text\n","stream":"stdout","kubernetes":{"pod_name":"multiple-1","namespace_name":"annotations-exclude","annotations":{"fluentbit.io/exclude-container-1":"true","fluentbit.io/exclude_stdout-container-2":"true","fluentbit.io/exclude_stderr-container-3":"true"},"container_name":"container-3"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-1_container-4_stderr.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-1_container-4_stderr.out
new file mode 100644
index 00000000..08ae820a
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-1_container-4_stderr.out
@@ -0,0 +1 @@
+[1554141513.698657,{"log":"Simple text\n","stream":"stderr","kubernetes":{"pod_name":"multiple-1","namespace_name":"annotations-exclude","annotations":{"fluentbit.io/exclude-container-1":"true","fluentbit.io/exclude_stdout-container-2":"true","fluentbit.io/exclude_stderr-container-3":"true"},"container_name":"container-4"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-1_container-4_stdout.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-1_container-4_stdout.out
new file mode 100644
index 00000000..236481af
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-1_container-4_stdout.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"Simple text\n","stream":"stdout","kubernetes":{"pod_name":"multiple-1","namespace_name":"annotations-exclude","annotations":{"fluentbit.io/exclude-container-1":"true","fluentbit.io/exclude_stdout-container-2":"true","fluentbit.io/exclude_stderr-container-3":"true"},"container_name":"container-4"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-2_container-2_stderr.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-2_container-2_stderr.out
new file mode 100644
index 00000000..50520e92
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-2_container-2_stderr.out
@@ -0,0 +1 @@
+[1554141513.698657,{"log":"Simple text\n","stream":"stderr","kubernetes":{"pod_name":"multiple-2","namespace_name":"annotations-exclude","annotations":{"fluentbit.io/exclude":"true","fluentbit.io/exclude_stderr-container-2":"false","fluentbit.io/exclude_stdout-container-3":"false","fluentbit.io/exclude-container-4":"false"},"container_name":"container-2"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-2_container-3_stdout.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-2_container-3_stdout.out
new file mode 100644
index 00000000..73e7e5db
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-2_container-3_stdout.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"Simple text\n","stream":"stdout","kubernetes":{"pod_name":"multiple-2","namespace_name":"annotations-exclude","annotations":{"fluentbit.io/exclude":"true","fluentbit.io/exclude_stderr-container-2":"false","fluentbit.io/exclude_stdout-container-3":"false","fluentbit.io/exclude-container-4":"false"},"container_name":"container-3"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-2_container-4_stderr.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-2_container-4_stderr.out
new file mode 100644
index 00000000..0b7da35c
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-2_container-4_stderr.out
@@ -0,0 +1 @@
+[1554141513.698657,{"log":"Simple text\n","stream":"stderr","kubernetes":{"pod_name":"multiple-2","namespace_name":"annotations-exclude","annotations":{"fluentbit.io/exclude":"true","fluentbit.io/exclude_stderr-container-2":"false","fluentbit.io/exclude_stdout-container-3":"false","fluentbit.io/exclude-container-4":"false"},"container_name":"container-4"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-2_container-4_stdout.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-2_container-4_stdout.out
new file mode 100644
index 00000000..427b67c7
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-2_container-4_stdout.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"Simple text\n","stream":"stdout","kubernetes":{"pod_name":"multiple-2","namespace_name":"annotations-exclude","annotations":{"fluentbit.io/exclude":"true","fluentbit.io/exclude_stderr-container-2":"false","fluentbit.io/exclude_stdout-container-3":"false","fluentbit.io/exclude-container-4":"false"},"container_name":"container-4"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-3_container-2_stderr.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-3_container-2_stderr.out
new file mode 100644
index 00000000..de5af8a1
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-3_container-2_stderr.out
@@ -0,0 +1 @@
+[1554141513.698657,{"log":"Simple text\n","stream":"stderr","kubernetes":{"pod_name":"multiple-3","namespace_name":"annotations-exclude","annotations":{"fluentbit.io/exclude_stdout":"true","fluentbit.io/exclude_stderr-container-1":"true","fluentbit.io/exclude_stdout-container-3":"false","fluentbit.io/exclude_stderr-container-3":"true","fluentbit.io/exclude_stdout-container-4":"false"},"container_name":"container-2"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-3_container-3_stdout.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-3_container-3_stdout.out
new file mode 100644
index 00000000..de7d598e
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-3_container-3_stdout.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"Simple text\n","stream":"stdout","kubernetes":{"pod_name":"multiple-3","namespace_name":"annotations-exclude","annotations":{"fluentbit.io/exclude_stdout":"true","fluentbit.io/exclude_stderr-container-1":"true","fluentbit.io/exclude_stdout-container-3":"false","fluentbit.io/exclude_stderr-container-3":"true","fluentbit.io/exclude_stdout-container-4":"false"},"container_name":"container-3"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-3_container-4_stderr.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-3_container-4_stderr.out
new file mode 100644
index 00000000..cff4f21e
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-3_container-4_stderr.out
@@ -0,0 +1 @@
+[1554141513.698657,{"log":"Simple text\n","stream":"stderr","kubernetes":{"pod_name":"multiple-3","namespace_name":"annotations-exclude","annotations":{"fluentbit.io/exclude_stdout":"true","fluentbit.io/exclude_stderr-container-1":"true","fluentbit.io/exclude_stdout-container-3":"false","fluentbit.io/exclude_stderr-container-3":"true","fluentbit.io/exclude_stdout-container-4":"false"},"container_name":"container-4"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-3_container-4_stdout.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-3_container-4_stdout.out
new file mode 100644
index 00000000..0329d218
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-3_container-4_stdout.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"Simple text\n","stream":"stdout","kubernetes":{"pod_name":"multiple-3","namespace_name":"annotations-exclude","annotations":{"fluentbit.io/exclude_stdout":"true","fluentbit.io/exclude_stderr-container-1":"true","fluentbit.io/exclude_stdout-container-3":"false","fluentbit.io/exclude_stderr-container-3":"true","fluentbit.io/exclude_stdout-container-4":"false"},"container_name":"container-4"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-4_container-2_stderr.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-4_container-2_stderr.out
new file mode 100644
index 00000000..ad9fa8d4
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-4_container-2_stderr.out
@@ -0,0 +1 @@
+[1554141513.698657,{"log":"Simple text\n","stream":"stderr","kubernetes":{"pod_name":"multiple-4","namespace_name":"annotations-exclude","annotations":{"fluentbit.io/exclude_stderr":"true","fluentbit.io/exclude_stdout-container-1":"true","fluentbit.io/exclude_stdout-container-2":"true","fluentbit.io/exclude_stderr-container-2":"false","fluentbit.io/exclude_stderr-container-4":"false"},"container_name":"container-2"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-4_container-3_stdout.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-4_container-3_stdout.out
new file mode 100644
index 00000000..730abcc7
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-4_container-3_stdout.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"Simple text\n","stream":"stdout","kubernetes":{"pod_name":"multiple-4","namespace_name":"annotations-exclude","annotations":{"fluentbit.io/exclude_stderr":"true","fluentbit.io/exclude_stdout-container-1":"true","fluentbit.io/exclude_stdout-container-2":"true","fluentbit.io/exclude_stderr-container-2":"false","fluentbit.io/exclude_stderr-container-4":"false"},"container_name":"container-3"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-4_container-4_stderr.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-4_container-4_stderr.out
new file mode 100644
index 00000000..22865762
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-4_container-4_stderr.out
@@ -0,0 +1 @@
+[1554141513.698657,{"log":"Simple text\n","stream":"stderr","kubernetes":{"pod_name":"multiple-4","namespace_name":"annotations-exclude","annotations":{"fluentbit.io/exclude_stderr":"true","fluentbit.io/exclude_stdout-container-1":"true","fluentbit.io/exclude_stdout-container-2":"true","fluentbit.io/exclude_stderr-container-2":"false","fluentbit.io/exclude_stderr-container-4":"false"},"container_name":"container-4"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-4_container-4_stdout.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-4_container-4_stdout.out
new file mode 100644
index 00000000..75b6ae3a
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_multiple-4_container-4_stdout.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"Simple text\n","stream":"stdout","kubernetes":{"pod_name":"multiple-4","namespace_name":"annotations-exclude","annotations":{"fluentbit.io/exclude_stderr":"true","fluentbit.io/exclude_stdout-container-1":"true","fluentbit.io/exclude_stdout-container-2":"true","fluentbit.io/exclude_stderr-container-2":"false","fluentbit.io/exclude_stderr-container-4":"false"},"container_name":"container-4"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_stderr_text_stdout.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_stderr_text_stdout.out
new file mode 100644
index 00000000..0e237f7a
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_stderr_text_stdout.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"Simple text\n","stream":"stdout","kubernetes":{"pod_name":"stderr","namespace_name":"annotations-exclude","annotations":{"fluentbit.io/exclude_stderr":"true"},"container_name":"text"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_stdout_text_stderr.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_stdout_text_stderr.out
new file mode 100644
index 00000000..8204d04d
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-exclude/annotations-exclude_stdout_text_stderr.out
@@ -0,0 +1 @@
+[1554141513.698657,{"log":"Simple text\n","stream":"stderr","kubernetes":{"pod_name":"stdout","namespace_name":"annotations-exclude","annotations":{"fluentbit.io/exclude_stdout":"true"},"container_name":"text"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_invalid_text_stderr.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_invalid_text_stderr.out
new file mode 100644
index 00000000..dbb0d7a0
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_invalid_text_stderr.out
@@ -0,0 +1 @@
+[1554141513.698657,{"log":"Simple text\n","stream":"stderr","kubernetes":{"pod_name":"invalid","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser":"invalid-parser"},"container_name":"text"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_invalid_text_stdout.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_invalid_text_stdout.out
new file mode 100644
index 00000000..5bb03765
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_invalid_text_stdout.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"Simple text\n","stream":"stdout","kubernetes":{"pod_name":"invalid","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser":"invalid-parser"},"container_name":"text"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_json-with-time_invalid-json-1.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_json-with-time_invalid-json-1.out
new file mode 100644
index 00000000..16835827
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_json-with-time_invalid-json-1.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"{\"time\":\"2019-04-05T14:54:23.584269761\",\"message\":\"Simple text\"]\n","stream":"stdout","kubernetes":{"pod_name":"json-with-time","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser":"json-parser-with-time"},"container_name":"invalid-json-1"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_json-with-time_json.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_json-with-time_json.out
new file mode 100644
index 00000000..2a472dad
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_json-with-time_json.out
@@ -0,0 +1 @@
+[1554476063.584270,{"stream":"stdout","message":"Simple text","kubernetes":{"pod_name":"json-with-time","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser":"json-parser-with-time"},"container_name":"json"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-1_stderr.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-1_stderr.out
new file mode 100644
index 00000000..937c3add
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-1_stderr.out
@@ -0,0 +1 @@
+[1554476063.584270,{"stream":"stderr","container_1_parser":"Container 1 is logging on stderr","kubernetes":{"pod_name":"multiple-1","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser-container-1":"container-1-parser","fluentbit.io/parser_stdout-container-2":"container-2-stdout-parser","fluentbit.io/parser_stderr-container-2":"container-2-stderr-parser","fluentbit.io/parser_stdout-container-3":"container-3-stdout-parser","fluentbit.io/parser_stderr-container-4":"container-4-stderr-parser","fluentbit.io/parser":"default-parser"},"container_name":"container-1"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-1_stdout.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-1_stdout.out
new file mode 100644
index 00000000..c672970c
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-1_stdout.out
@@ -0,0 +1 @@
+[1554476063.584270,{"stream":"stdout","container_1_parser":"Container 1 is logging on stdout","kubernetes":{"pod_name":"multiple-1","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser-container-1":"container-1-parser","fluentbit.io/parser_stdout-container-2":"container-2-stdout-parser","fluentbit.io/parser_stderr-container-2":"container-2-stderr-parser","fluentbit.io/parser_stdout-container-3":"container-3-stdout-parser","fluentbit.io/parser_stderr-container-4":"container-4-stderr-parser","fluentbit.io/parser":"default-parser"},"container_name":"container-1"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-2_stderr.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-2_stderr.out
new file mode 100644
index 00000000..02f9ce66
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-2_stderr.out
@@ -0,0 +1 @@
+[1554476063.584270,{"stream":"stderr","container_2_stderr_parser":"Container 2 is logging on stderr","kubernetes":{"pod_name":"multiple-1","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser-container-1":"container-1-parser","fluentbit.io/parser_stdout-container-2":"container-2-stdout-parser","fluentbit.io/parser_stderr-container-2":"container-2-stderr-parser","fluentbit.io/parser_stdout-container-3":"container-3-stdout-parser","fluentbit.io/parser_stderr-container-4":"container-4-stderr-parser","fluentbit.io/parser":"default-parser"},"container_name":"container-2"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-2_stdout.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-2_stdout.out
new file mode 100644
index 00000000..9d3d358c
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-2_stdout.out
@@ -0,0 +1 @@
+[1554476063.584270,{"stream":"stdout","container_2_stdout_parser":"Container 2 is logging on stdout","kubernetes":{"pod_name":"multiple-1","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser-container-1":"container-1-parser","fluentbit.io/parser_stdout-container-2":"container-2-stdout-parser","fluentbit.io/parser_stderr-container-2":"container-2-stderr-parser","fluentbit.io/parser_stdout-container-3":"container-3-stdout-parser","fluentbit.io/parser_stderr-container-4":"container-4-stderr-parser","fluentbit.io/parser":"default-parser"},"container_name":"container-2"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-3_stderr.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-3_stderr.out
new file mode 100644
index 00000000..3908d07e
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-3_stderr.out
@@ -0,0 +1 @@
+[1554476063.584270,{"stream":"stderr","default_parser":"Container 3 is logging on stderr","kubernetes":{"pod_name":"multiple-1","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser-container-1":"container-1-parser","fluentbit.io/parser_stdout-container-2":"container-2-stdout-parser","fluentbit.io/parser_stderr-container-2":"container-2-stderr-parser","fluentbit.io/parser_stdout-container-3":"container-3-stdout-parser","fluentbit.io/parser_stderr-container-4":"container-4-stderr-parser","fluentbit.io/parser":"default-parser"},"container_name":"container-3"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-3_stdout.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-3_stdout.out
new file mode 100644
index 00000000..77ca2ce0
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-3_stdout.out
@@ -0,0 +1 @@
+[1554476063.584270,{"stream":"stdout","container_3_stdout_parser":"Container 3 is logging on stdout","kubernetes":{"pod_name":"multiple-1","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser-container-1":"container-1-parser","fluentbit.io/parser_stdout-container-2":"container-2-stdout-parser","fluentbit.io/parser_stderr-container-2":"container-2-stderr-parser","fluentbit.io/parser_stdout-container-3":"container-3-stdout-parser","fluentbit.io/parser_stderr-container-4":"container-4-stderr-parser","fluentbit.io/parser":"default-parser"},"container_name":"container-3"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-4_stderr.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-4_stderr.out
new file mode 100644
index 00000000..f3752f59
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-4_stderr.out
@@ -0,0 +1 @@
+[1554476063.584270,{"stream":"stderr","container_4_stderr_parser":"Container 4 is logging on stderr","kubernetes":{"pod_name":"multiple-1","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser-container-1":"container-1-parser","fluentbit.io/parser_stdout-container-2":"container-2-stdout-parser","fluentbit.io/parser_stderr-container-2":"container-2-stderr-parser","fluentbit.io/parser_stdout-container-3":"container-3-stdout-parser","fluentbit.io/parser_stderr-container-4":"container-4-stderr-parser","fluentbit.io/parser":"default-parser"},"container_name":"container-4"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-4_stdout.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-4_stdout.out
new file mode 100644
index 00000000..bf81796a
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-4_stdout.out
@@ -0,0 +1 @@
+[1554476063.584270,{"stream":"stdout","default_parser":"Container 4 is logging on stdout","kubernetes":{"pod_name":"multiple-1","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser-container-1":"container-1-parser","fluentbit.io/parser_stdout-container-2":"container-2-stdout-parser","fluentbit.io/parser_stderr-container-2":"container-2-stderr-parser","fluentbit.io/parser_stdout-container-3":"container-3-stdout-parser","fluentbit.io/parser_stderr-container-4":"container-4-stderr-parser","fluentbit.io/parser":"default-parser"},"container_name":"container-4"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-5_stderr.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-5_stderr.out
new file mode 100644
index 00000000..b633eb0e
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-5_stderr.out
@@ -0,0 +1 @@
+[1554476063.584270,{"stream":"stderr","default_parser":"Container 5 is logging on stderr","kubernetes":{"pod_name":"multiple-1","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser-container-1":"container-1-parser","fluentbit.io/parser_stdout-container-2":"container-2-stdout-parser","fluentbit.io/parser_stderr-container-2":"container-2-stderr-parser","fluentbit.io/parser_stdout-container-3":"container-3-stdout-parser","fluentbit.io/parser_stderr-container-4":"container-4-stderr-parser","fluentbit.io/parser":"default-parser"},"container_name":"container-5"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-5_stdout.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-5_stdout.out
new file mode 100644
index 00000000..f6137799
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-1_container-5_stdout.out
@@ -0,0 +1 @@
+[1554476063.584270,{"stream":"stdout","default_parser":"Container 5 is logging on stdout","kubernetes":{"pod_name":"multiple-1","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser-container-1":"container-1-parser","fluentbit.io/parser_stdout-container-2":"container-2-stdout-parser","fluentbit.io/parser_stderr-container-2":"container-2-stderr-parser","fluentbit.io/parser_stdout-container-3":"container-3-stdout-parser","fluentbit.io/parser_stderr-container-4":"container-4-stderr-parser","fluentbit.io/parser":"default-parser"},"container_name":"container-5"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-1_stderr.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-1_stderr.out
new file mode 100644
index 00000000..d4d401d0
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-1_stderr.out
@@ -0,0 +1 @@
+[1554476063.584270,{"stream":"stderr","container_1_parser":"Container 1 is logging on stderr","kubernetes":{"pod_name":"multiple-2","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser-container-1":"container-1-parser","fluentbit.io/parser_stdout-container-2":"container-2-stdout-parser","fluentbit.io/parser_stderr-container-2":"container-2-stderr-parser","fluentbit.io/parser_stdout-container-3":"container-3-stdout-parser","fluentbit.io/parser_stderr-container-4":"container-4-stderr-parser","fluentbit.io/parser_stdout":"default-stdout-parser","fluentbit.io/parser_stderr":"default-stderr-parser"},"container_name":"container-1"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-1_stdout.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-1_stdout.out
new file mode 100644
index 00000000..fc0de55c
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-1_stdout.out
@@ -0,0 +1 @@
+[1554476063.584270,{"stream":"stdout","container_1_parser":"Container 1 is logging on stdout","kubernetes":{"pod_name":"multiple-2","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser-container-1":"container-1-parser","fluentbit.io/parser_stdout-container-2":"container-2-stdout-parser","fluentbit.io/parser_stderr-container-2":"container-2-stderr-parser","fluentbit.io/parser_stdout-container-3":"container-3-stdout-parser","fluentbit.io/parser_stderr-container-4":"container-4-stderr-parser","fluentbit.io/parser_stdout":"default-stdout-parser","fluentbit.io/parser_stderr":"default-stderr-parser"},"container_name":"container-1"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-2_stderr.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-2_stderr.out
new file mode 100644
index 00000000..38214f3c
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-2_stderr.out
@@ -0,0 +1 @@
+[1554476063.584270,{"stream":"stderr","container_2_stderr_parser":"Container 2 is logging on stderr","kubernetes":{"pod_name":"multiple-2","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser-container-1":"container-1-parser","fluentbit.io/parser_stdout-container-2":"container-2-stdout-parser","fluentbit.io/parser_stderr-container-2":"container-2-stderr-parser","fluentbit.io/parser_stdout-container-3":"container-3-stdout-parser","fluentbit.io/parser_stderr-container-4":"container-4-stderr-parser","fluentbit.io/parser_stdout":"default-stdout-parser","fluentbit.io/parser_stderr":"default-stderr-parser"},"container_name":"container-2"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-2_stdout.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-2_stdout.out
new file mode 100644
index 00000000..6c4dc1d7
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-2_stdout.out
@@ -0,0 +1 @@
+[1554476063.584270,{"stream":"stdout","container_2_stdout_parser":"Container 2 is logging on stdout","kubernetes":{"pod_name":"multiple-2","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser-container-1":"container-1-parser","fluentbit.io/parser_stdout-container-2":"container-2-stdout-parser","fluentbit.io/parser_stderr-container-2":"container-2-stderr-parser","fluentbit.io/parser_stdout-container-3":"container-3-stdout-parser","fluentbit.io/parser_stderr-container-4":"container-4-stderr-parser","fluentbit.io/parser_stdout":"default-stdout-parser","fluentbit.io/parser_stderr":"default-stderr-parser"},"container_name":"container-2"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-3_stderr.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-3_stderr.out
new file mode 100644
index 00000000..8d5e8cf7
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-3_stderr.out
@@ -0,0 +1 @@
+[1554476063.584270,{"stream":"stderr","default_stderr_parser":"Container 3 is logging on stderr","kubernetes":{"pod_name":"multiple-2","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser-container-1":"container-1-parser","fluentbit.io/parser_stdout-container-2":"container-2-stdout-parser","fluentbit.io/parser_stderr-container-2":"container-2-stderr-parser","fluentbit.io/parser_stdout-container-3":"container-3-stdout-parser","fluentbit.io/parser_stderr-container-4":"container-4-stderr-parser","fluentbit.io/parser_stdout":"default-stdout-parser","fluentbit.io/parser_stderr":"default-stderr-parser"},"container_name":"container-3"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-3_stdout.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-3_stdout.out
new file mode 100644
index 00000000..1371805e
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-3_stdout.out
@@ -0,0 +1 @@
+[1554476063.584270,{"stream":"stdout","container_3_stdout_parser":"Container 3 is logging on stdout","kubernetes":{"pod_name":"multiple-2","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser-container-1":"container-1-parser","fluentbit.io/parser_stdout-container-2":"container-2-stdout-parser","fluentbit.io/parser_stderr-container-2":"container-2-stderr-parser","fluentbit.io/parser_stdout-container-3":"container-3-stdout-parser","fluentbit.io/parser_stderr-container-4":"container-4-stderr-parser","fluentbit.io/parser_stdout":"default-stdout-parser","fluentbit.io/parser_stderr":"default-stderr-parser"},"container_name":"container-3"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-4_stderr.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-4_stderr.out
new file mode 100644
index 00000000..bca461e5
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-4_stderr.out
@@ -0,0 +1 @@
+[1554476063.584270,{"stream":"stderr","container_4_stderr_parser":"Container 4 is logging on stderr","kubernetes":{"pod_name":"multiple-2","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser-container-1":"container-1-parser","fluentbit.io/parser_stdout-container-2":"container-2-stdout-parser","fluentbit.io/parser_stderr-container-2":"container-2-stderr-parser","fluentbit.io/parser_stdout-container-3":"container-3-stdout-parser","fluentbit.io/parser_stderr-container-4":"container-4-stderr-parser","fluentbit.io/parser_stdout":"default-stdout-parser","fluentbit.io/parser_stderr":"default-stderr-parser"},"container_name":"container-4"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-4_stdout.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-4_stdout.out
new file mode 100644
index 00000000..79aa4d99
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-4_stdout.out
@@ -0,0 +1 @@
+[1554476063.584270,{"stream":"stdout","default_stdout_parser":"Container 4 is logging on stdout","kubernetes":{"pod_name":"multiple-2","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser-container-1":"container-1-parser","fluentbit.io/parser_stdout-container-2":"container-2-stdout-parser","fluentbit.io/parser_stderr-container-2":"container-2-stderr-parser","fluentbit.io/parser_stdout-container-3":"container-3-stdout-parser","fluentbit.io/parser_stderr-container-4":"container-4-stderr-parser","fluentbit.io/parser_stdout":"default-stdout-parser","fluentbit.io/parser_stderr":"default-stderr-parser"},"container_name":"container-4"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-5_stderr.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-5_stderr.out
new file mode 100644
index 00000000..860dbeba
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-5_stderr.out
@@ -0,0 +1 @@
+[1554476063.584270,{"stream":"stderr","default_stderr_parser":"Container 5 is logging on stderr","kubernetes":{"pod_name":"multiple-2","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser-container-1":"container-1-parser","fluentbit.io/parser_stdout-container-2":"container-2-stdout-parser","fluentbit.io/parser_stderr-container-2":"container-2-stderr-parser","fluentbit.io/parser_stdout-container-3":"container-3-stdout-parser","fluentbit.io/parser_stderr-container-4":"container-4-stderr-parser","fluentbit.io/parser_stdout":"default-stdout-parser","fluentbit.io/parser_stderr":"default-stderr-parser"},"container_name":"container-5"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-5_stdout.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-5_stdout.out
new file mode 100644
index 00000000..141fc422
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_multiple-2_container-5_stdout.out
@@ -0,0 +1 @@
+[1554476063.584270,{"stream":"stdout","default_stdout_parser":"Container 5 is logging on stdout","kubernetes":{"pod_name":"multiple-2","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser-container-1":"container-1-parser","fluentbit.io/parser_stdout-container-2":"container-2-stdout-parser","fluentbit.io/parser_stderr-container-2":"container-2-stderr-parser","fluentbit.io/parser_stdout-container-3":"container-3-stdout-parser","fluentbit.io/parser_stderr-container-4":"container-4-stderr-parser","fluentbit.io/parser_stdout":"default-stdout-parser","fluentbit.io/parser_stderr":"default-stderr-parser"},"container_name":"container-5"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_regex-with-time_invalid-text-1.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_regex-with-time_invalid-text-1.out
new file mode 100644
index 00000000..a563c4e4
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_regex-with-time_invalid-text-1.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"2019-04-05T14:54:23.584269761 - Simple text\n","stream":"stdout","kubernetes":{"pod_name":"regex-with-time","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser":"regex-parser-with-time"},"container_name":"invalid-text-1"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_regex-with-time_text.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_regex-with-time_text.out
new file mode 100644
index 00000000..dad7fcda
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_regex-with-time_text.out
@@ -0,0 +1 @@
+[1554476063.584270,{"stream":"stdout","message":"Simple text","kubernetes":{"pod_name":"regex-with-time","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser":"regex-parser-with-time"},"container_name":"text"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_stderr_text_stderr.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_stderr_text_stderr.out
new file mode 100644
index 00000000..85954f7b
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_stderr_text_stderr.out
@@ -0,0 +1 @@
+[1554476063.584270,{"stream":"stderr","default_stderr_parser":"Simple text","kubernetes":{"pod_name":"stderr","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser_stderr":"default-stderr-parser"},"container_name":"text"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_stderr_text_stdout.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_stderr_text_stdout.out
new file mode 100644
index 00000000..a56cb809
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_stderr_text_stdout.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"[2019-04-05T14:54:23.584269761] Simple text\n","stream":"stdout","kubernetes":{"pod_name":"stderr","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser_stderr":"default-stderr-parser"},"container_name":"text"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_stdout_text_stderr.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_stdout_text_stderr.out
new file mode 100644
index 00000000..65e31d0d
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_stdout_text_stderr.out
@@ -0,0 +1 @@
+[1554141513.698657,{"log":"[2019-04-05T14:54:23.584269761] Simple text\n","stream":"stderr","kubernetes":{"pod_name":"stdout","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser_stdout":"default-stdout-parser"},"container_name":"text"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_stdout_text_stdout.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_stdout_text_stdout.out
new file mode 100644
index 00000000..07c2d913
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations-parser/annotations-parser_stdout_text_stdout.out
@@ -0,0 +1 @@
+[1554476063.584270,{"stream":"stdout","default_stdout_parser":"Simple text","kubernetes":{"pod_name":"stdout","namespace_name":"annotations-parser","annotations":{"fluentbit.io/parser_stdout":"default-stdout-parser"},"container_name":"text"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/annotations/annotations_invalid_text.out b/fluent-bit/tests/runtime/data/kubernetes/out/annotations/annotations_invalid_text.out
new file mode 100644
index 00000000..900560d8
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/annotations/annotations_invalid_text.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"Simple text\n","stream":"stdout","kubernetes":{"pod_name":"invalid","namespace_name":"annotations","annotations":{"fluentbit.io/invalid":"true","fluentbit.io/exclude_":"true","fluentbit.io/exclude_invalid":"true","fluentbit.io/exclude_stdout-":"true","fluentbit.io/exclude-":"true","fluentbit.io/exclude+":"true"},"container_name":"text"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/core/core_base_fluent-bit.out b/fluent-bit/tests/runtime/data/kubernetes/out/core/core_base_fluent-bit.out
new file mode 100644
index 00000000..6a1a3ac5
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/core/core_base_fluent-bit.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"Fluent Bit is logging\n","stream":"stdout","kubernetes":{"pod_name":"base","namespace_name":"core","pod_id":"e9f2963f-55f2-11e9-84c5-02e422b8a84a","labels":{"app.kubernetes.io/name":"fluent-bit"},"annotations":{"prometheus.io/path":"/api/v1/metrics/prometheus","prometheus.io/port":"2020","prometheus.io/scrape":"true"},"host":"ip-10-49-18-80.eu-west-1.compute.internal","container_name":"fluent-bit","docker_id":"c9898099f6d235126d564ed38a020007ea7a6fac6e25e718de683c9dd0076c16","container_hash":"fluent/fluent-bit@sha256:7ac0fd3569af866e9a6a22eb592744200d2dbe098cf066162453f8d0b06c531f","container_image":"fluent/fluent-bit:latest"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/core/core_no-meta_text.out b/fluent-bit/tests/runtime/data/kubernetes/out/core/core_no-meta_text.out
new file mode 100644
index 00000000..f72dc98b
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/core/core_no-meta_text.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"Simple text\n","stream":"stdout","kubernetes":{"pod_name":"no-meta","namespace_name":"core","container_name":"text"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/core/core_unescaping_json.out b/fluent-bit/tests/runtime/data/kubernetes/out/core/core_unescaping_json.out
new file mode 100644
index 00000000..8063a7fa
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/core/core_unescaping_json.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"{\"stringified-json\":\"{\\\"stringified-json\\\":\\\"{\\\\\\\"stringified-json\\\\\\\":\\\\\\\"\\\\\\\"}\\\"}\",\"text\":\"quoted \\\"text with embedded quoted \\\\\\\"text\\\\\\\"\\\"\"}\n","stream":"stdout","kubernetes":{"pod_name":"unescaping","namespace_name":"core","container_name":"json"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/core/core_unescaping_text.out b/fluent-bit/tests/runtime/data/kubernetes/out/core/core_unescaping_text.out
new file mode 100644
index 00000000..f9dad5be
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/core/core_unescaping_text.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"Text with embedded quoted \"text with embedded quoted \\\"text with embedded quoted \\\\\\\"text\\\\\\\"\\\"\"\n","stream":"stdout","kubernetes":{"pod_name":"unescaping","namespace_name":"core","container_name":"text"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/kairosdb-914055854-b63vq.out b/fluent-bit/tests/runtime/data/kubernetes/out/kairosdb-914055854-b63vq.out
new file mode 100644
index 00000000..efaaf0d8
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/kairosdb-914055854-b63vq.out
@@ -0,0 +1 @@
+[1541358747.464754,{"_UID":"1000","_GID":"1000","_CAP_EFFECTIVE":"0","_SELINUX_CONTEXT":"unconfined\n","_AUDIT_LOGINUID":"1000","_SYSTEMD_OWNER_UID":"1000","_SYSTEMD_SLICE":"user-1000.slice","_SYSTEMD_USER_SLICE":"-.slice","_BOOT_ID":"e3abb4093a904a169e2ac21af241392f","_MACHINE_ID":"28d81df105e641e9b7d85e9d41433662","_HOSTNAME":"cube","PRIORITY":"6","CODE_FILE":"filter_kubernetes.c","CODE_LINE":"456","CODE_FUNC":"flb_test_systemd_logs","CONTAINER_NAME":"k8s_kairosdb_kairosdb-914055854-b63vq_default_d6c53deb-05a4-11e8-a8c4-080027435fb7_23","CONTAINER_TAG":"","CONTAINER_ID":"56e257661383","CONTAINER_ID_FULL":"56e257661383836fac4cd90a23ee8a7a02ee1538c8f35657d1a90f3de1065a22","MESSAGE":"08:58:45.839 [qtp151442075-47] DEBUG [HttpParser.java:281] - filled 157/157","KUBE_TEST":"2018","SYSLOG_IDENTIFIER":"flb-rt-filter_kubernetes","_TRANSPORT":"journal","_PID":"32318","_COMM":"flb-rt-filter_k","_EXE":"build/bin/flb-rt-filter_kubernetes","_CMDLINE":"bin/flb-rt-filter_kubernetes","_AUDIT_SESSION":"7417","_SYSTEMD_CGROUP":"/user.slice/user-1000.slice/session-7417.scope","_SYSTEMD_SESSION":"7417","_SYSTEMD_UNIT":"session-7417.scope","_SYSTEMD_INVOCATION_ID":"899c0f7241ae4db0af3cb4088dca76b0","_SOURCE_REALTIME_TIMESTAMP":"1541358747464738","kubernetes":{"pod_name":"kairosdb-914055854-b63vq","namespace_name":"default","pod_id":"d6c53deb-05a4-11e8-a8c4-080027435fb7","labels":{"name":"kairosdb","pod-template-hash":"914055854"},"annotations":{"kubernetes.io/created-by":"{\"kind\":\"SerializedReference\",\"apiVersion\":\"v1\",\"reference\":{\"kind\":\"ReplicaSet\",\"namespace\":\"default\",\"name\":\"kairosdb-914055854\",\"uid\":\"d6c2f841-05a4-11e8-a8c4-080027435fb7\",\"apiVersion\":\"extensions\",\"resourceVersion\":\"1592\"}}\n"},"host":"192.168.10.169","container_name":"kairosdb","docker_id":"02d45318f220ad01109d13df31fbbb0668b87fdd06ef6607abfdecf5eba4b311","container_hash":"davradocker/docker-kairosdb@sha256:2ee07e3f3ba61b96597c78ab0aa7b837d771b375888b020da7a7316bb524b6e8","container_image":"davradocker/docker-kairosdb:1.1.1_9"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/options/options_k8s-logging-exclude-disabled_text_stderr.out b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_k8s-logging-exclude-disabled_text_stderr.out
new file mode 100644
index 00000000..2b148329
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_k8s-logging-exclude-disabled_text_stderr.out
@@ -0,0 +1 @@
+[1554141513.698657,{"log":"Simple text\n","stream":"stderr","kubernetes":{"pod_name":"k8s-logging-exclude-disabled","namespace_name":"options","annotations":{"fluentbit.io/exclude":"true"},"container_name":"text"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/options/options_k8s-logging-exclude-disabled_text_stdout.out b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_k8s-logging-exclude-disabled_text_stdout.out
new file mode 100644
index 00000000..4a87d121
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_k8s-logging-exclude-disabled_text_stdout.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"Simple text\n","stream":"stdout","kubernetes":{"pod_name":"k8s-logging-exclude-disabled","namespace_name":"options","annotations":{"fluentbit.io/exclude":"true"},"container_name":"text"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/options/options_k8s-logging-parser-disabled_text_stderr.out b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_k8s-logging-parser-disabled_text_stderr.out
new file mode 100644
index 00000000..0c35402f
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_k8s-logging-parser-disabled_text_stderr.out
@@ -0,0 +1 @@
+[1554141513.698657,{"log":"Simple text\n","stream":"stderr","kubernetes":{"pod_name":"k8s-logging-parser-disabled","namespace_name":"options","annotations":{"fluentbit.io/parser":"default-parser"},"container_name":"text"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/options/options_k8s-logging-parser-disabled_text_stdout.out b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_k8s-logging-parser-disabled_text_stdout.out
new file mode 100644
index 00000000..5eb80966
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_k8s-logging-parser-disabled_text_stdout.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"Simple text\n","stream":"stdout","kubernetes":{"pod_name":"k8s-logging-parser-disabled","namespace_name":"options","annotations":{"fluentbit.io/parser":"default-parser"},"container_name":"text"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/options/options_keep-log-disabled_json.out b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_keep-log-disabled_json.out
new file mode 100644
index 00000000..6f95c3ba
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_keep-log-disabled_json.out
@@ -0,0 +1 @@
+[1554141513.598656,{"stream":"stdout","text":"Simple text","kubernetes":{"pod_name":"keep-log-disabled","namespace_name":"options","container_name":"json"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/options/options_keep-log-enabled_json.out b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_keep-log-enabled_json.out
new file mode 100644
index 00000000..b09efae8
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_keep-log-enabled_json.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"{\"text\":\"Simple text\"}\n","stream":"stdout","text":"Simple text","kubernetes":{"pod_name":"keep-log-enabled","namespace_name":"options","container_name":"json"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-disabled_json.out b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-disabled_json.out
new file mode 100644
index 00000000..7d28a9c9
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-disabled_json.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"{\"text\":\"Simple text\"}\n","stream":"stdout","kubernetes":{"pod_name":"merge-log-disabled","namespace_name":"options","container_name":"json"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-enabled_invalid-json.out b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-enabled_invalid-json.out
new file mode 100644
index 00000000..66cfe547
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-enabled_invalid-json.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"{\"text\":\"Simple text\"]\n","stream":"stdout","kubernetes":{"pod_name":"merge-log-enabled","namespace_name":"options","container_name":"invalid-json"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-enabled_json.out b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-enabled_json.out
new file mode 100644
index 00000000..25717717
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-enabled_json.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"{\"text\":\"Simple text\"}\n","stream":"stdout","text":"Simple text","kubernetes":{"pod_name":"merge-log-enabled","namespace_name":"options","container_name":"json"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-enabled_text.out b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-enabled_text.out
new file mode 100644
index 00000000..7c6363bc
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-enabled_text.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"Simple text\n","stream":"stdout","kubernetes":{"pod_name":"merge-log-enabled","namespace_name":"options","container_name":"text"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-key_json.out b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-key_json.out
new file mode 100644
index 00000000..130e92f2
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-key_json.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"{\"text\":\"Simple text\"}\n","stream":"stdout","merge-log-key":{"text":"Simple text"},"kubernetes":{"pod_name":"merge-log-key","namespace_name":"options","container_name":"json"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-trim-disabled_json.out b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-trim-disabled_json.out
new file mode 100644
index 00000000..0fee8645
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-trim-disabled_json.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"{\"text\":\"Simple text\n\"}\n","stream":"stdout","text":"Simple text\n","kubernetes":{"pod_name":"merge-log-trim-disabled","namespace_name":"options","container_name":"json"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-trim-enabled_json.out b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-trim-enabled_json.out
new file mode 100644
index 00000000..adcdf765
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_merge-log-trim-enabled_json.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"{\"text\":\"Simple text\n\"}\n","stream":"stdout","text":"Simple text","kubernetes":{"pod_name":"merge-log-trim-enabled","namespace_name":"options","container_name":"json"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/options/options_use-kubelet-disabled_fluent-bit.out b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_use-kubelet-disabled_fluent-bit.out
new file mode 100644
index 00000000..699da8bd
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_use-kubelet-disabled_fluent-bit.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"Fluent Bit is logging\n","stream":"stdout","kubernetes":{"pod_name":"use-kubelet-disabled","namespace_name":"options","pod_id":"e9f2963f-55f2-11e9-84c5-02e422b8a84a","labels":{"app.kubernetes.io/name":"fluent-bit"},"annotations":{"prometheus.io/path":"/api/v1/metrics/prometheus","prometheus.io/port":"2020","prometheus.io/scrape":"true"},"host":"ip-10-49-18-80.eu-west-1.compute.internal","container_name":"fluent-bit","docker_id":"c9898099f6d235126d564ed38a020007ea7a6fac6e25e718de683c9dd0076c16","container_hash":"fluent/fluent-bit@sha256:7ac0fd3569af866e9a6a22eb592744200d2dbe098cf066162453f8d0b06c531f","container_image":"fluent/fluent-bit:latest"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/out/options/options_use-kubelet-enabled_fluent-bit.out b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_use-kubelet-enabled_fluent-bit.out
new file mode 100644
index 00000000..dbd97f1a
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/out/options/options_use-kubelet-enabled_fluent-bit.out
@@ -0,0 +1 @@
+[1554141513.598656,{"log":"Fluent Bit is logging\n","stream":"stdout","kubernetes":{"pod_name":"use-kubelet-enabled","namespace_name":"options","pod_id":"e9f2963f-55f2-11e9-84c5-02e422b8a84a","labels":{"app.kubernetes.io/name":"fluent-bit"},"annotations":{"prometheus.io/path":"/api/v1/metrics/prometheus","prometheus.io/port":"2020","prometheus.io/scrape":"true"},"host":"ip-10-49-18-80.eu-west-1.compute.internal","container_name":"fluent-bit","docker_id":"c9898099f6d235126d564ed38a020007ea7a6fac6e25e718de683c9dd0076c16","container_hash":"fluent/fluent-bit@sha256:7ac0fd3569af866e9a6a22eb592744200d2dbe098cf066162453f8d0b06c531f","container_image":"fluent/fluent-bit:latest"}}]
diff --git a/fluent-bit/tests/runtime/data/kubernetes/parsers.conf b/fluent-bit/tests/runtime/data/kubernetes/parsers.conf
new file mode 100644
index 00000000..40014ec3
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/kubernetes/parsers.conf
@@ -0,0 +1,88 @@
+[PARSER]
+ Name docker
+ Format json
+ Time_Key time
+ Time_Format %Y-%m-%dT%H:%M:%S.%L%z
+
+[PARSER]
+ Name kubernetes-tag
+ Format regex
+ Regex ^(?<namespace_name>[^.]+).(?<pod_name>[^.]+).(?<container_name>[^.]+)$
+
+[PARSER]
+ Name regex-parser-without-time
+ Format regex
+ Regex ^(?<message>.+)$
+
+[PARSER]
+ Name regex-parser-with-time
+ Format regex
+ Regex ^\[(?<time>[^\]]+)\] (?<message>.+)$
+ Time_Key time
+ Time_Format %Y-%m-%dT%H:%M:%S.%L
+
+[PARSER]
+ Name json-parser-without-time
+ Format json
+
+[PARSER]
+ Name json-parser-with-time
+ Format json
+ Time_Key time
+ Time_Format %Y-%m-%dT%H:%M:%S.%L
+
+[PARSER]
+ Name default-parser
+ Format regex
+ Regex ^\[(?<time>[^\]]+)\] (?<default_parser>.+)$
+ Time_Key time
+ Time_Format %Y-%m-%dT%H:%M:%S.%L
+
+[PARSER]
+ Name default-stdout-parser
+ Format regex
+ Regex ^\[(?<time>[^\]]+)\] (?<default_stdout_parser>.+)$
+ Time_Key time
+ Time_Format %Y-%m-%dT%H:%M:%S.%L
+
+[PARSER]
+ Name default-stderr-parser
+ Format regex
+ Regex ^\[(?<time>[^\]]+)\] (?<default_stderr_parser>.+)$
+ Time_Key time
+ Time_Format %Y-%m-%dT%H:%M:%S.%L
+
+[PARSER]
+ Name container-1-parser
+ Format regex
+ Regex ^\[(?<time>[^\]]+)\] (?<container_1_parser>.+)$
+ Time_Key time
+ Time_Format %Y-%m-%dT%H:%M:%S.%L
+
+[PARSER]
+ Name container-2-stdout-parser
+ Format regex
+ Regex ^\[(?<time>[^\]]+)\] (?<container_2_stdout_parser>.+)$
+ Time_Key time
+ Time_Format %Y-%m-%dT%H:%M:%S.%L
+
+[PARSER]
+ Name container-2-stderr-parser
+ Format regex
+ Regex ^\[(?<time>[^\]]+)\] (?<container_2_stderr_parser>.+)$
+ Time_Key time
+ Time_Format %Y-%m-%dT%H:%M:%S.%L
+
+[PARSER]
+ Name container-3-stdout-parser
+ Format regex
+ Regex ^\[(?<time>[^\]]+)\] (?<container_3_stdout_parser>.+)$
+ Time_Key time
+ Time_Format %Y-%m-%dT%H:%M:%S.%L
+
+[PARSER]
+ Name container-4-stderr-parser
+ Format regex
+ Regex ^\[(?<time>[^\]]+)\] (?<container_4_stderr_parser>.+)$
+ Time_Key time
+ Time_Format %Y-%m-%dT%H:%M:%S.%L
diff --git a/fluent-bit/tests/runtime/data/loki/labelmap.json b/fluent-bit/tests/runtime/data/loki/labelmap.json
new file mode 100644
index 00000000..b24ad434
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/loki/labelmap.json
@@ -0,0 +1,10 @@
+{
+ "kubernetes": {
+ "container_name": "container",
+ "pod_name": "pod",
+ "namespace_name": "namespace",
+ "labels" : {
+ "team": "team"
+ }
+ }
+}
diff --git a/fluent-bit/tests/runtime/data/podman/cgroupv2/42/net/dev b/fluent-bit/tests/runtime/data/podman/cgroupv2/42/net/dev
new file mode 100644
index 00000000..835131a9
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/podman/cgroupv2/42/net/dev
@@ -0,0 +1,6 @@
+Inter-| Receive | Transmit
+ face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed
+ lo: 34275905 6362 0 0 0 0 0 0 34275905 6362 0 0 0 0 0 0
+enp6s0: 9089298401 6228223 0 0 0 0 0 5669 173774157 2534993 0 0 0 0 0 0
+wlp5s0: 2802033 11801 0 0 0 0 0 0 790512 6492 0 0 0 0 0 0
+virbr0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
diff --git a/fluent-bit/tests/runtime/data/podman/cgroupv2/cgroup.controllers b/fluent-bit/tests/runtime/data/podman/cgroupv2/cgroup.controllers
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/podman/cgroupv2/cgroup.controllers
diff --git a/fluent-bit/tests/runtime/data/podman/cgroupv2/config.json b/fluent-bit/tests/runtime/data/podman/cgroupv2/config.json
new file mode 100644
index 00000000..dcf6ab4a
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/podman/cgroupv2/config.json
@@ -0,0 +1 @@
+[{"id":"8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9","names":["determined_mcnulty"],"image":"27941809078cc9b2802deb2b0bb6feed6c236cde01e487f200e24653533701ee","layer":"633c06ce1a553c72c4fbf12686acd5129a453f57b73385f8e7afc975fa657d86","metadata":"{\"image-name\":\"docker.io/library/ubuntu:latest\",\"image-id\":\"27941809078cc9b2802deb2b0bb6feed6c236cde01e487f200e24653533701ee\",\"name\":\"determined_mcnulty\",\"created-at\":1657980361}","created":"2022-07-16T14:06:01.521179687Z","flags":{"MountLabel":"system_u:object_r:container_file_t:s0:c664,c969","ProcessLabel":"system_u:system_r:container_t:s0:c664,c969"}}]
diff --git a/fluent-bit/tests/runtime/data/podman/cgroupv2/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/containers/cgroup.procs b/fluent-bit/tests/runtime/data/podman/cgroupv2/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/containers/cgroup.procs
new file mode 100644
index 00000000..d81cc071
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/podman/cgroupv2/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/containers/cgroup.procs
@@ -0,0 +1 @@
+42
diff --git a/fluent-bit/tests/runtime/data/podman/cgroupv2/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/memory.current b/fluent-bit/tests/runtime/data/podman/cgroupv2/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/memory.current
new file mode 100644
index 00000000..d81cc071
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/podman/cgroupv2/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/memory.current
@@ -0,0 +1 @@
+42
diff --git a/fluent-bit/tests/runtime/data/podman/garbage/42/net/dev b/fluent-bit/tests/runtime/data/podman/garbage/42/net/dev
new file mode 100644
index 00000000..9ce7649d
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/podman/garbage/42/net/dev
@@ -0,0 +1 @@
+garbage
diff --git a/fluent-bit/tests/runtime/data/podman/garbage/config.json b/fluent-bit/tests/runtime/data/podman/garbage/config.json
new file mode 100644
index 00000000..dcf6ab4a
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/podman/garbage/config.json
@@ -0,0 +1 @@
+[{"id":"8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9","names":["determined_mcnulty"],"image":"27941809078cc9b2802deb2b0bb6feed6c236cde01e487f200e24653533701ee","layer":"633c06ce1a553c72c4fbf12686acd5129a453f57b73385f8e7afc975fa657d86","metadata":"{\"image-name\":\"docker.io/library/ubuntu:latest\",\"image-id\":\"27941809078cc9b2802deb2b0bb6feed6c236cde01e487f200e24653533701ee\",\"name\":\"determined_mcnulty\",\"created-at\":1657980361}","created":"2022-07-16T14:06:01.521179687Z","flags":{"MountLabel":"system_u:object_r:container_file_t:s0:c664,c969","ProcessLabel":"system_u:system_r:container_t:s0:c664,c969"}}]
diff --git a/fluent-bit/tests/runtime/data/podman/garbage/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/memory.current b/fluent-bit/tests/runtime/data/podman/garbage/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/memory.current
new file mode 100644
index 00000000..9ce7649d
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/podman/garbage/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/memory.current
@@ -0,0 +1 @@
+garbage
diff --git a/fluent-bit/tests/runtime/data/podman/garbage/memory/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/memory.usage_in_bytes b/fluent-bit/tests/runtime/data/podman/garbage/memory/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/memory.usage_in_bytes
new file mode 100644
index 00000000..9ce7649d
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/podman/garbage/memory/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/memory.usage_in_bytes
@@ -0,0 +1 @@
+garbage
diff --git a/fluent-bit/tests/runtime/data/podman/garbage_config/config.json b/fluent-bit/tests/runtime/data/podman/garbage_config/config.json
new file mode 100644
index 00000000..9ce7649d
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/podman/garbage_config/config.json
@@ -0,0 +1 @@
+garbage
diff --git a/fluent-bit/tests/runtime/data/podman/no_config/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/memory.current b/fluent-bit/tests/runtime/data/podman/no_config/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/memory.current
new file mode 100644
index 00000000..d81cc071
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/podman/no_config/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/memory.current
@@ -0,0 +1 @@
+42
diff --git a/fluent-bit/tests/runtime/data/podman/no_config/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/memory.usage_in_bytes b/fluent-bit/tests/runtime/data/podman/no_config/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/memory.usage_in_bytes
new file mode 100644
index 00000000..d81cc071
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/podman/no_config/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/memory.usage_in_bytes
@@ -0,0 +1 @@
+42
diff --git a/fluent-bit/tests/runtime/data/podman/no_config/memory/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/memory.usage_in_bytes b/fluent-bit/tests/runtime/data/podman/no_config/memory/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/memory.usage_in_bytes
new file mode 100644
index 00000000..d81cc071
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/podman/no_config/memory/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/memory.usage_in_bytes
@@ -0,0 +1 @@
+42
diff --git a/fluent-bit/tests/runtime/data/podman/no_proc/config.json b/fluent-bit/tests/runtime/data/podman/no_proc/config.json
new file mode 100644
index 00000000..dcf6ab4a
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/podman/no_proc/config.json
@@ -0,0 +1 @@
+[{"id":"8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9","names":["determined_mcnulty"],"image":"27941809078cc9b2802deb2b0bb6feed6c236cde01e487f200e24653533701ee","layer":"633c06ce1a553c72c4fbf12686acd5129a453f57b73385f8e7afc975fa657d86","metadata":"{\"image-name\":\"docker.io/library/ubuntu:latest\",\"image-id\":\"27941809078cc9b2802deb2b0bb6feed6c236cde01e487f200e24653533701ee\",\"name\":\"determined_mcnulty\",\"created-at\":1657980361}","created":"2022-07-16T14:06:01.521179687Z","flags":{"MountLabel":"system_u:object_r:container_file_t:s0:c664,c969","ProcessLabel":"system_u:system_r:container_t:s0:c664,c969"}}]
diff --git a/fluent-bit/tests/runtime/data/podman/no_proc/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/memory.current b/fluent-bit/tests/runtime/data/podman/no_proc/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/memory.current
new file mode 100644
index 00000000..d81cc071
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/podman/no_proc/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/memory.current
@@ -0,0 +1 @@
+42
diff --git a/fluent-bit/tests/runtime/data/podman/no_proc/memory/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/memory.usage_in_bytes b/fluent-bit/tests/runtime/data/podman/no_proc/memory/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/memory.usage_in_bytes
new file mode 100644
index 00000000..d81cc071
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/podman/no_proc/memory/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/memory.usage_in_bytes
@@ -0,0 +1 @@
+42
diff --git a/fluent-bit/tests/runtime/data/podman/no_sysfs/42/net/dev b/fluent-bit/tests/runtime/data/podman/no_sysfs/42/net/dev
new file mode 100644
index 00000000..835131a9
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/podman/no_sysfs/42/net/dev
@@ -0,0 +1,6 @@
+Inter-| Receive | Transmit
+ face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed
+ lo: 34275905 6362 0 0 0 0 0 0 34275905 6362 0 0 0 0 0 0
+enp6s0: 9089298401 6228223 0 0 0 0 0 5669 173774157 2534993 0 0 0 0 0 0
+wlp5s0: 2802033 11801 0 0 0 0 0 0 790512 6492 0 0 0 0 0 0
+virbr0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
diff --git a/fluent-bit/tests/runtime/data/podman/no_sysfs/config.json b/fluent-bit/tests/runtime/data/podman/no_sysfs/config.json
new file mode 100644
index 00000000..dcf6ab4a
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/podman/no_sysfs/config.json
@@ -0,0 +1 @@
+[{"id":"8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9","names":["determined_mcnulty"],"image":"27941809078cc9b2802deb2b0bb6feed6c236cde01e487f200e24653533701ee","layer":"633c06ce1a553c72c4fbf12686acd5129a453f57b73385f8e7afc975fa657d86","metadata":"{\"image-name\":\"docker.io/library/ubuntu:latest\",\"image-id\":\"27941809078cc9b2802deb2b0bb6feed6c236cde01e487f200e24653533701ee\",\"name\":\"determined_mcnulty\",\"created-at\":1657980361}","created":"2022-07-16T14:06:01.521179687Z","flags":{"MountLabel":"system_u:object_r:container_file_t:s0:c664,c969","ProcessLabel":"system_u:system_r:container_t:s0:c664,c969"}}]
diff --git a/fluent-bit/tests/runtime/data/podman/regular/42/net/dev b/fluent-bit/tests/runtime/data/podman/regular/42/net/dev
new file mode 100644
index 00000000..835131a9
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/podman/regular/42/net/dev
@@ -0,0 +1,6 @@
+Inter-| Receive | Transmit
+ face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed
+ lo: 34275905 6362 0 0 0 0 0 0 34275905 6362 0 0 0 0 0 0
+enp6s0: 9089298401 6228223 0 0 0 0 0 5669 173774157 2534993 0 0 0 0 0 0
+wlp5s0: 2802033 11801 0 0 0 0 0 0 790512 6492 0 0 0 0 0 0
+virbr0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
diff --git a/fluent-bit/tests/runtime/data/podman/regular/config.json b/fluent-bit/tests/runtime/data/podman/regular/config.json
new file mode 100644
index 00000000..dcf6ab4a
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/podman/regular/config.json
@@ -0,0 +1 @@
+[{"id":"8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9","names":["determined_mcnulty"],"image":"27941809078cc9b2802deb2b0bb6feed6c236cde01e487f200e24653533701ee","layer":"633c06ce1a553c72c4fbf12686acd5129a453f57b73385f8e7afc975fa657d86","metadata":"{\"image-name\":\"docker.io/library/ubuntu:latest\",\"image-id\":\"27941809078cc9b2802deb2b0bb6feed6c236cde01e487f200e24653533701ee\",\"name\":\"determined_mcnulty\",\"created-at\":1657980361}","created":"2022-07-16T14:06:01.521179687Z","flags":{"MountLabel":"system_u:object_r:container_file_t:s0:c664,c969","ProcessLabel":"system_u:system_r:container_t:s0:c664,c969"}}]
diff --git a/fluent-bit/tests/runtime/data/podman/regular/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/memory.current b/fluent-bit/tests/runtime/data/podman/regular/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/memory.current
new file mode 100644
index 00000000..d81cc071
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/podman/regular/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/memory.current
@@ -0,0 +1 @@
+42
diff --git a/fluent-bit/tests/runtime/data/podman/regular/memory/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/memory.usage_in_bytes b/fluent-bit/tests/runtime/data/podman/regular/memory/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/memory.usage_in_bytes
new file mode 100644
index 00000000..d81cc071
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/podman/regular/memory/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/memory.usage_in_bytes
@@ -0,0 +1 @@
+42
diff --git a/fluent-bit/tests/runtime/data/podman/regular/systemd/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/cgroup.procs b/fluent-bit/tests/runtime/data/podman/regular/systemd/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/cgroup.procs
new file mode 100644
index 00000000..a2a31c00
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/podman/regular/systemd/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/cgroup.procs
@@ -0,0 +1,3 @@
+42
+73
+12
diff --git a/fluent-bit/tests/runtime/data/podman/reversed/42/net/dev b/fluent-bit/tests/runtime/data/podman/reversed/42/net/dev
new file mode 100644
index 00000000..835131a9
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/podman/reversed/42/net/dev
@@ -0,0 +1,6 @@
+Inter-| Receive | Transmit
+ face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed
+ lo: 34275905 6362 0 0 0 0 0 0 34275905 6362 0 0 0 0 0 0
+enp6s0: 9089298401 6228223 0 0 0 0 0 5669 173774157 2534993 0 0 0 0 0 0
+wlp5s0: 2802033 11801 0 0 0 0 0 0 790512 6492 0 0 0 0 0 0
+virbr0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
diff --git a/fluent-bit/tests/runtime/data/podman/reversed/config.json b/fluent-bit/tests/runtime/data/podman/reversed/config.json
new file mode 100644
index 00000000..6cbcc690
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/podman/reversed/config.json
@@ -0,0 +1 @@
+[{"id":"8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9","names":["determined_mcnulty"],"image":"27941809078cc9b2802deb2b0bb6feed6c236cde01e487f200e24653533701ee","layer":"633c06ce1a553c72c4fbf12686acd5129a453f57b73385f8e7afc975fa657d86","metadata":"{\"image-id\":\"27941809078cc9b2802deb2b0bb6feed6c236cde01e487f200e24653533701ee\",\"name\":\"determined_mcnulty\",\"created-at\":1657980361,\"image-name\":\"docker.io/library/ubuntu:latest\"}","created":"2022-07-16T14:06:01.521179687Z","flags":{"MountLabel":"system_u:object_r:container_file_t:s0:c664,c969","ProcessLabel":"system_u:system_r:container_t:s0:c664,c969"}}]
diff --git a/fluent-bit/tests/runtime/data/podman/reversed/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/memory.current b/fluent-bit/tests/runtime/data/podman/reversed/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/memory.current
new file mode 100644
index 00000000..d81cc071
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/podman/reversed/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/memory.current
@@ -0,0 +1 @@
+42
diff --git a/fluent-bit/tests/runtime/data/podman/reversed/memory/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/memory.usage_in_bytes b/fluent-bit/tests/runtime/data/podman/reversed/memory/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/memory.usage_in_bytes
new file mode 100644
index 00000000..d81cc071
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/podman/reversed/memory/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/memory.usage_in_bytes
@@ -0,0 +1 @@
+42
diff --git a/fluent-bit/tests/runtime/data/podman/reversed/systemd/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/cgroup.procs b/fluent-bit/tests/runtime/data/podman/reversed/systemd/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/cgroup.procs
new file mode 100644
index 00000000..a2a31c00
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/podman/reversed/systemd/libpod-8a19d6058bfbe88cd0548eba9047d94c70161f5d74b545c7504b2f27491686d9/cgroup.procs
@@ -0,0 +1,3 @@
+42
+73
+12
diff --git a/fluent-bit/tests/runtime/data/stackdriver/json.h b/fluent-bit/tests/runtime/data/stackdriver/json.h
new file mode 100755
index 00000000..146dd532
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/stackdriver/json.h
@@ -0,0 +1,12 @@
+/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+
+#define JSON "[" \
+ "1448403340," \
+ "{" \
+ "\"key_0\": false," \
+ "\"key_1\": true," \
+ "\"key_2\": \"some string\"," \
+ "\"key_3\": 0.12345678," \
+ "\"key.4\": 5000," \
+ "\"END_KEY\": \"JSON_END\"" \
+ "}]"
diff --git a/fluent-bit/tests/runtime/data/stackdriver/stackdriver-credentials.json b/fluent-bit/tests/runtime/data/stackdriver/stackdriver-credentials.json
new file mode 100644
index 00000000..1ea8afd9
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/stackdriver/stackdriver-credentials.json
@@ -0,0 +1,12 @@
+{
+ "type": "service_account",
+ "project_id": "fluent-bit",
+ "private_key_id": "837364849384b143e4e21243a2cbcbd26f4fabcdfe",
+ "private_key": "-----BEGIN PRIVATE KEY-----\nasldjkasdjksa98327498327498327489qajdsijasdjlksajdlksajdlks7+TK\n-----END PRIVATE KEY-----\n",
+ "client_email": "stackdriver@fluent-bit.iam.gserviceaccount.com",
+ "client_id": "0123456789",
+ "auth_uri": "https://accounts.google.com/o/oauth2/auth",
+ "token_uri": "https://accounts.google.com/o/oauth2/token",
+ "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
+ "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/stackdriver%40fluent-bit.iam.gserviceaccount.com"
+}
diff --git a/fluent-bit/tests/runtime/data/stackdriver/stackdriver_multi_entries_severity.log b/fluent-bit/tests/runtime/data/stackdriver/stackdriver_multi_entries_severity.log
new file mode 100644
index 00000000..157cbea6
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/stackdriver/stackdriver_multi_entries_severity.log
@@ -0,0 +1,4 @@
+{"message":"test severity1", "severity":"INFO"}
+{"message":"test severity2"}
+{"message":"test severity3", "severity":"DEBUG"}
+{"message":"test severity4"}
diff --git a/fluent-bit/tests/runtime/data/stackdriver/stackdriver_test_http_request.h b/fluent-bit/tests/runtime/data/stackdriver/stackdriver_test_http_request.h
new file mode 100644
index 00000000..2b7ad82d
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/stackdriver/stackdriver_test_http_request.h
@@ -0,0 +1,134 @@
+#define HTTPREQUEST_COMMON_CASE "[" \
+ "1591111124," \
+ "{" \
+ "\"logging.googleapis.com/http_request\": " \
+ "{" \
+ "\"requestMethod\": \"test_requestMethod\"," \
+ "\"requestUrl\": \"test_requestUrl\"," \
+ "\"userAgent\": \"test_userAgent\"," \
+ "\"remoteIp\": \"test_remoteIp\"," \
+ "\"serverIp\": \"test_serverIp\"," \
+ "\"referer\": \"test_referer\"," \
+ "\"latency\": \"0s\"," \
+ "\"protocol\": \"test_protocol\"," \
+ "\"requestSize\": 123," \
+ "\"responseSize\": 123," \
+ "\"status\": 200," \
+ "\"cacheFillBytes\": 123," \
+ "\"cacheLookup\": true," \
+ "\"cacheHit\": true," \
+ "\"cacheValidatedWithOriginServer\": true" \
+ "}" \
+ "}]"
+
+#define EMPTY_HTTPREQUEST "[" \
+ "1591111124," \
+ "{" \
+ "\"logging.googleapis.com/http_request\": " \
+ "{" \
+ "}" \
+ "}]"
+
+#define HTTPREQUEST_IN_STRING "[" \
+ "1591111124," \
+ "{" \
+ "\"logging.googleapis.com/http_request\": \"some string\"" \
+ "}]"
+
+#define PARTIAL_HTTPREQUEST "[" \
+ "1591111124," \
+ "{" \
+ "\"logging.googleapis.com/http_request\": " \
+ "{" \
+ "\"cacheLookup\": true," \
+ "\"cacheHit\": true," \
+ "\"cacheValidatedWithOriginServer\": true" \
+ "}" \
+ "}]"
+
+#define HTTPREQUEST_SUBFIELDS_IN_INCORRECT_TYPE "[" \
+ "1591111124," \
+ "{" \
+ "\"logging.googleapis.com/http_request\": " \
+ "{" \
+ "\"requestMethod\": 123," \
+ "\"requestUrl\": 123," \
+ "\"userAgent\": 123," \
+ "\"remoteIp\": 123," \
+ "\"serverIp\": true," \
+ "\"referer\": true," \
+ "\"latency\": false," \
+ "\"protocol\": false," \
+ "\"requestSize\": \"some string\"," \
+ "\"responseSize\": true," \
+ "\"status\": false," \
+ "\"cacheFillBytes\": false," \
+ "\"cacheLookup\": \"some string\"," \
+ "\"cacheHit\": 123," \
+ "\"cacheValidatedWithOriginServer\": 123" \
+ "}" \
+ "}]"
+
+#define HTTPREQUEST_EXTRA_SUBFIELDS_EXISTED "[" \
+ "1591111124," \
+ "{" \
+ "\"logging.googleapis.com/http_request\": " \
+ "{" \
+ "\"requestMethod\": \"test_requestMethod\"," \
+ "\"requestUrl\": \"test_requestUrl\"," \
+ "\"userAgent\": \"test_userAgent\"," \
+ "\"remoteIp\": \"test_remoteIp\"," \
+ "\"serverIp\": \"test_serverIp\"," \
+ "\"referer\": \"test_referer\"," \
+ "\"latency\": \"0s\"," \
+ "\"protocol\": \"test_protocol\"," \
+ "\"requestSize\": 123," \
+ "\"responseSize\": 123," \
+ "\"status\": 200," \
+ "\"cacheFillBytes\": 123," \
+ "\"cacheLookup\": true," \
+ "\"cacheHit\": true," \
+ "\"cacheValidatedWithOriginServer\": true," \
+ "\"extra_key1\": \"extra_val1\"," \
+ "\"extra_key2\": 123," \
+ "\"extra_key3\": true" \
+ "}" \
+ "}]"
+
+
+/* Tests for 'latency' */
+#define HTTPREQUEST_LATENCY_COMMON_CASE "[" \
+ "1591111124," \
+ "{" \
+ "\"logging.googleapis.com/http_request\": " \
+ "{" \
+ "\"latency\": \" 100.00 s \"" \
+ "}" \
+ "}]"
+
+#define HTTPREQUEST_LATENCY_INVALID_SPACES "[" \
+ "1591111124," \
+ "{" \
+ "\"logging.googleapis.com/http_request\": " \
+ "{" \
+ "\"latency\": \" 100. 00 s \"" \
+ "}" \
+ "}]"
+
+#define HTTPREQUEST_LATENCY_INVALID_STRING "[" \
+ "1591111124," \
+ "{" \
+ "\"logging.googleapis.com/http_request\": " \
+ "{" \
+ "\"latency\": \" s100.00 s \"" \
+ "}" \
+ "}]"
+
+#define HTTPREQUEST_LATENCY_INVALID_END "[" \
+ "1591111124," \
+ "{" \
+ "\"logging.googleapis.com/http_request\": " \
+ "{" \
+ "\"latency\": \" 100.00 \"" \
+ "}" \
+ "}]"
diff --git a/fluent-bit/tests/runtime/data/stackdriver/stackdriver_test_insert_id.h b/fluent-bit/tests/runtime/data/stackdriver/stackdriver_test_insert_id.h
new file mode 100644
index 00000000..9cdf3f54
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/stackdriver/stackdriver_test_insert_id.h
@@ -0,0 +1,26 @@
+
+#define INSERTID_COMMON_CASE "[" \
+ "1591111124," \
+ "{" \
+ "\"logging.googleapis.com/insertId\": \"test_insertId\" " \
+ "}]"
+
+#define EMPTY_INSERTID "[" \
+ "1591111124," \
+ "{" \
+ "\"logging.googleapis.com/insertId\": \"\" " \
+ "}]"
+
+#define INSERTID_INCORRECT_TYPE_INT "[" \
+ "1591111124," \
+ "{" \
+ "\"logging.googleapis.com/insertId\": 123 " \
+ "}]"
+
+#define INSERTID_INCORRECT_TYPE_MAP "[" \
+ "1591111124," \
+ "{" \
+ "\"logging.googleapis.com/insertId\": " \
+ "{" \
+ "}" \
+ "}]"
diff --git a/fluent-bit/tests/runtime/data/stackdriver/stackdriver_test_k8s_resource.h b/fluent-bit/tests/runtime/data/stackdriver/stackdriver_test_k8s_resource.h
new file mode 100644
index 00000000..9fe1604a
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/stackdriver/stackdriver_test_k8s_resource.h
@@ -0,0 +1,89 @@
+/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+
+/* k8s_container */
+#define K8S_CONTAINER_COMMON "[" \
+ "1591649196," \
+ "{" \
+ "\"message\": \"K8S_CONTAINER_COMMON\"," \
+ "\"logging.googleapis.com/local_resource_id\": \"k8s_container.testnamespace.testpod.testctr\"" \
+ "}]"
+
+#define K8S_CONTAINER_COMMON_DIFF_TAGS "[" \
+ "1591649196," \
+ "{" \
+ "\"message\": \"K8S_CONTAINER_COMMON\"," \
+ "\"logging.googleapis.com/local_resource_id\": \"k8s_container.diffnamespace.diffpod.diffctr\"" \
+ "}]"
+
+#define K8S_CONTAINER_NO_LOCAL_RESOURCE_ID "[" \
+ "1591649196," \
+ "{" \
+ "\"message\": \"K8S_CONTAINER_COMMON_NO_LOCAL_RESOURCE_ID\"" \
+ "}]"
+
+/* k8s_node */
+#define K8S_NODE_COMMON "[" \
+ "1591649196," \
+ "{" \
+ "\"message\": \"K8S_NODE_COMMON\"," \
+ "\"logging.googleapis.com/local_resource_id\": \"k8s_node.testnode\"," \
+ "\"PRIORITY\": 6," \
+ "\"SYSLOG_FACILITY\": 3," \
+ "\"_CAP_EFFECTIVE\": \"3fffffffff\"," \
+ "\"_PID\": 1387," \
+ "\"_SYSTEMD_UNIT\": \"docker.service\"," \
+ "\"END_KEY\": \"JSON_END\"" \
+ "}]"
+
+#define K8S_NODE_NO_LOCAL_RESOURCE_ID "[" \
+ "1591649196," \
+ "{" \
+ "\"message\": \"K8S_NODE_NO_LOCAL_RESOURCE_ID\"," \
+ "\"PRIORITY\": 6," \
+ "\"SYSLOG_FACILITY\": 3," \
+ "\"_CAP_EFFECTIVE\": \"3fffffffff\"," \
+ "\"_PID\": 1387," \
+ "\"_SYSTEMD_UNIT\": \"docker.service\"," \
+ "\"END_KEY\": \"JSON_END\"" \
+ "}]"
+
+#define K8S_NODE_LOCAL_RESOURCE_ID_WITH_DOT "[" \
+ "1591649196," \
+ "{" \
+ "\"message\": \"K8S_NODE_LOCAL_RESOURCE_ID_WITH_DOT\"," \
+ "\"logging.googleapis.com/local_resource_id\": \"k8s_node.testnode.withdot.dot\"," \
+ "\"PRIORITY\": 6," \
+ "\"SYSLOG_FACILITY\": 3," \
+ "\"_CAP_EFFECTIVE\": \"3fffffffff\"," \
+ "\"_PID\": 1387," \
+ "\"_SYSTEMD_UNIT\": \"docker.service\"," \
+ "\"END_KEY\": \"JSON_END\"" \
+ "}]"
+
+/* k8s_pod */
+#define K8S_POD_COMMON "[" \
+ "1591649196," \
+ "{" \
+ "\"message\": \"K8S_POD_COMMON\"," \
+ "\"logging.googleapis.com/local_resource_id\": \"k8s_pod.testnamespace.testpod\"," \
+ "\"key_0\": false," \
+ "\"key_1\": true," \
+ "\"key_2\": \"some string\"," \
+ "\"key_3\": 0.12345678," \
+ "\"key_4\": 5000," \
+ "\"END_KEY\": \"JSON_END\"" \
+ "}]"
+
+#define K8S_POD_NO_LOCAL_RESOURCE_ID "[" \
+ "1591649196," \
+ "{" \
+ "\"message\": \"K8S_POD_NO_LOCAL_RESOURCE_ID\"," \
+ "\"key_0\": false," \
+ "\"key_1\": true," \
+ "\"key_2\": \"some string\"," \
+ "\"key_3\": 0.12345678," \
+ "\"key_4\": 5000," \
+ "\"END_KEY\": \"JSON_END\"" \
+ "}]"
+
+ \ No newline at end of file
diff --git a/fluent-bit/tests/runtime/data/stackdriver/stackdriver_test_labels.h b/fluent-bit/tests/runtime/data/stackdriver/stackdriver_test_labels.h
new file mode 100644
index 00000000..ec3d80b3
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/stackdriver/stackdriver_test_labels.h
@@ -0,0 +1,44 @@
+/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+
+#define DEFAULT_LABELS "[" \
+ "1591649196," \
+ "{" \
+ "\"logging.googleapis.com/labels\": " \
+ "{" \
+ "\"testA\": \"valA\"," \
+ "\"testB\": \"valB\"" \
+ "}" \
+ "}]"
+
+#define CUSTOM_LABELS "[" \
+ "1591649196," \
+ "{" \
+ "\"logging.googleapis.com/customlabels\": " \
+ "{" \
+ "\"testA\": \"valA\"," \
+ "\"testB\": \"valB\"" \
+ "}" \
+ "}]"
+
+#define DEFAULT_LABELS_K8S_RESOURCE_TYPE "[" \
+ "1591649196," \
+ "{" \
+ "\"logging.googleapis.com/local_resource_id\": \"k8s_container.testnamespace.testpod.testctr\"," \
+ "\"logging.googleapis.com/labels\": " \
+ "{" \
+ "\"testA\": \"valA\"," \
+ "\"testB\": \"valB\"" \
+ "}" \
+ "}]"
+
+#define CUSTOM_LABELS_K8S_RESOURCE_TYPE "[" \
+ "1591649196," \
+ "{" \
+ "\"logging.googleapis.com/local_resource_id\": \"k8s_container.testnamespace.testpod.testctr\"," \
+ "\"logging.googleapis.com/customlabels\": " \
+ "{" \
+ "\"testA\": \"valA\"," \
+ "\"testB\": \"valB\"" \
+ "}" \
+ "}]"
+
diff --git a/fluent-bit/tests/runtime/data/stackdriver/stackdriver_test_log_name.h b/fluent-bit/tests/runtime/data/stackdriver/stackdriver_test_log_name.h
new file mode 100644
index 00000000..4d39e242
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/stackdriver/stackdriver_test_log_name.h
@@ -0,0 +1,10 @@
+#define LOG_NAME_OVERRIDE "[" \
+ "1591111124," \
+ "{" \
+ "\"custom_log_name_key\": \"custom_log_name\"" \
+ "}]"
+
+#define LOG_NAME_NO_OVERRIDE "[" \
+ "1591111124," \
+ "{" \
+ "}]"
diff --git a/fluent-bit/tests/runtime/data/stackdriver/stackdriver_test_monitored_resource.h b/fluent-bit/tests/runtime/data/stackdriver/stackdriver_test_monitored_resource.h
new file mode 100644
index 00000000..d1874928
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/stackdriver/stackdriver_test_monitored_resource.h
@@ -0,0 +1,46 @@
+/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+#define MONITORED_RESOURCE_COMMON_CASE "[" \
+ "1591649196," \
+ "{" \
+ "\"logging.googleapis.com/monitored_resource\": " \
+ "{" \
+ "\"labels\": " \
+ "{" \
+ "\"project_id\": \"monitored_resource_project_id\"," \
+ "\"location\": \"monitored_resource_location\"," \
+ "\"testA\": \"valA\"" \
+ "}" \
+ "}" \
+ "}]"
+
+#define MONITORED_RESOURCE_PRIORITY_HIGHER_THAN_LOCAL_RESOURCE_ID "[" \
+ "1591649196," \
+ "{" \
+ "\"logging.googleapis.com/monitored_resource\": " \
+ "{" \
+ "\"labels\": " \
+ "{" \
+ "\"project_id\": \"monitored_resource_project_id\"," \
+ "\"location\": \"monitored_resource_location\"," \
+ "\"cluster_name\": \"monitored_resource_cluster_name\"," \
+ "\"namespace_name\": \"monitored_resource_namespace_name\"," \
+ "\"pod_name\": \"monitored_resource_pod_name\"," \
+ "\"container_name\": \"monitored_resource_container_name\"" \
+ "}" \
+ "}," \
+ "\"logging.googleapis.com/local_resource_id\": \"k8s_container.testnamespace.testpod.testctr\"" \
+ "}]"
+
+#define MONITORED_RESOURCE_PRIORITY_HIGHER_THAN_GCE_INSTANCE "[" \
+ "1448403340," \
+ "{" \
+ "\"logging.googleapis.com/monitored_resource\": " \
+ "{" \
+ "\"labels\": " \
+ "{" \
+ "\"project_id\": \"monitored_resource_project_id\"," \
+ "\"zone\": \"monitored_resource_zone\"," \
+ "\"instance_id\": \"monitored_resource_instance_id\"" \
+ "}" \
+ "}" \
+ "}]"
diff --git a/fluent-bit/tests/runtime/data/stackdriver/stackdriver_test_operation.h b/fluent-bit/tests/runtime/data/stackdriver/stackdriver_test_operation.h
new file mode 100644
index 00000000..b3af3722
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/stackdriver/stackdriver_test_operation.h
@@ -0,0 +1,62 @@
+#define OPERATION_COMMON_CASE "[" \
+ "1591111124," \
+ "{" \
+ "\"logging.googleapis.com/operation\": " \
+ "{" \
+ "\"id\": \"test_id\"," \
+ "\"producer\": \"test_producer\"," \
+ "\"first\": true," \
+ "\"last\": true" \
+ "}" \
+ "}]"
+
+#define EMPTY_OPERATION "[" \
+ "1591111124," \
+ "{" \
+ "\"logging.googleapis.com/operation\": " \
+ "{" \
+ "}" \
+ "}]"
+
+#define OPERATION_IN_STRING "[" \
+ "1591111124," \
+ "{" \
+ "\"logging.googleapis.com/operation\": \"some string\"" \
+ "}]"
+
+#define PARTIAL_SUBFIELDS "[" \
+ "1591111124," \
+ "{" \
+ "\"logging.googleapis.com/operation\": " \
+ "{" \
+ "\"first\": false," \
+ "\"last\": false" \
+ "}" \
+ "}]"
+
+#define SUBFIELDS_IN_INCORRECT_TYPE "[" \
+ "1591111124," \
+ "{" \
+ "\"logging.googleapis.com/operation\": " \
+ "{" \
+ "\"id\": 123," \
+ "\"producer\": true," \
+ "\"first\": \"some string\"," \
+ "\"last\": 123" \
+ "}" \
+ "}]"
+
+#define EXTRA_SUBFIELDS_EXISTED "[" \
+ "1591111124," \
+ "{" \
+ "\"logging.googleapis.com/operation\": " \
+ "{" \
+ "\"id\": \"test_id\"," \
+ "\"producer\": \"test_producer\"," \
+ "\"first\": true," \
+ "\"last\": true," \
+ "\"extra_key1\": \"extra_val1\"," \
+ "\"extra_key2\": 123," \
+ "\"extra_key3\": true" \
+ "}" \
+ "}]"
diff --git a/fluent-bit/tests/runtime/data/stackdriver/stackdriver_test_resource_labels.h b/fluent-bit/tests/runtime/data/stackdriver/stackdriver_test_resource_labels.h
new file mode 100644
index 00000000..a65a4714
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/stackdriver/stackdriver_test_resource_labels.h
@@ -0,0 +1,37 @@
+/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+
+#define ONE_FIELD "[" \
+ "1591649196," \
+ "{" \
+ "\"keyA\": \"valA\"" \
+ "}]"
+
+#define MULTIPLE_FIELDS "[" \
+ "1591649196," \
+ "{" \
+ "\"keyA\": \"valA\"," \
+ "\"keyB\": \"valB\"" \
+ "}]"
+
+#define NESTED_FIELDS "[" \
+ "1591649196," \
+ "{" \
+ "\"toplevel\": " \
+ "{" \
+ "\"keyA\": \"valA\"," \
+ "\"keyB\": \"valB\"" \
+ "}" \
+ "}]"
+
+#define LAYERED_NESTED_FIELDS "[" \
+ "1591649196," \
+ "{" \
+ "\"toplevel\": " \
+ "{" \
+ "\"midlevel\": " \
+ "{" \
+ "\"keyA\": \"valA\"" \
+ "}," \
+ "\"keyB\": \"valB\"" \
+ "}" \
+ "}]"
diff --git a/fluent-bit/tests/runtime/data/stackdriver/stackdriver_test_source_location.h b/fluent-bit/tests/runtime/data/stackdriver/stackdriver_test_source_location.h
new file mode 100644
index 00000000..0bf419f5
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/stackdriver/stackdriver_test_source_location.h
@@ -0,0 +1,70 @@
+#define SOURCELOCATION_COMMON_CASE "[" \
+ "1591111124," \
+ "{" \
+ "\"logging.googleapis.com/sourceLocation\": " \
+ "{" \
+ "\"file\": \"test_file\"," \
+ "\"line\": 123," \
+ "\"function\": \"test_function\"" \
+ "}" \
+ "}]"
+
+#define SOURCELOCATION_COMMON_CASE_LINE_IN_STRING "[" \
+ "1591111124," \
+ "{" \
+ "\"logging.googleapis.com/sourceLocation\": " \
+ "{" \
+ "\"file\": \"test_file\"," \
+ "\"line\": \"123\"," \
+ "\"function\": \"test_function\"" \
+ "}" \
+ "}]"
+
+#define EMPTY_SOURCELOCATION "[" \
+ "1591111124," \
+ "{" \
+ "\"logging.googleapis.com/sourceLocation\": " \
+ "{" \
+ "}" \
+ "}]"
+
+#define SOURCELOCATION_IN_STRING "[" \
+ "1591111124," \
+ "{" \
+ "\"logging.googleapis.com/sourceLocation\": \"some string\"" \
+ "}]"
+
+#define PARTIAL_SOURCELOCATION "[" \
+ "1591111124," \
+ "{" \
+ "\"logging.googleapis.com/sourceLocation\": " \
+ "{" \
+ "\"function\": \"test_function\"" \
+ "}" \
+ "}]"
+
+#define SOURCELOCATION_SUBFIELDS_IN_INCORRECT_TYPE "[" \
+ "1591111124," \
+ "{" \
+ "\"logging.googleapis.com/sourceLocation\": " \
+ "{" \
+ "\"file\": 123," \
+ "\"line\": \"some string\"," \
+ "\"function\": true" \
+ "}" \
+ "}]"
+
+#define SOURCELOCATION_EXTRA_SUBFIELDS_EXISTED "[" \
+ "1591111124," \
+ "{" \
+ "\"logging.googleapis.com/sourceLocation\": " \
+ "{" \
+ "\"file\": \"test_file\"," \
+ "\"line\": 123," \
+ "\"function\": \"test_function\"," \
+ "\"extra_key1\": \"extra_val1\"," \
+ "\"extra_key2\": 123," \
+ "\"extra_key3\": true" \
+ "}" \
+ "}]"
+ \ No newline at end of file
diff --git a/fluent-bit/tests/runtime/data/stackdriver/stackdriver_test_span_id.h b/fluent-bit/tests/runtime/data/stackdriver/stackdriver_test_span_id.h
new file mode 100644
index 00000000..5b7b823e
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/stackdriver/stackdriver_test_span_id.h
@@ -0,0 +1,6 @@
+#define SPAN_ID_COMMON_CASE "[" \
+ "1591111124," \
+ "{" \
+ "\"logging.googleapis.com/spanId\": \"000000000000004a\"" \
+ "}]"
+ \ No newline at end of file
diff --git a/fluent-bit/tests/runtime/data/stackdriver/stackdriver_test_timestamp.h b/fluent-bit/tests/runtime/data/stackdriver/stackdriver_test_timestamp.h
new file mode 100644
index 00000000..f80cc37d
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/stackdriver/stackdriver_test_timestamp.h
@@ -0,0 +1,62 @@
+/* timestamp after parsing: 2020-07-21T16:40:42.000012345Z */
+#define TIMESTAMP_FORMAT_OBJECT_COMMON_CASE "[" \
+ "1591111124," \
+ "{" \
+ "\"timestamp\": " \
+ "{" \
+ "\"seconds\": \"1595349642\"," \
+ "\"nanos\": \"12345\"" \
+ "}" \
+ "}]"
+
+/* "1595349600" in RFC3339 format: 2020-07-21T16:40:00Z */
+#define TIMESTAMP_FORMAT_OBJECT_NOT_A_MAP "[" \
+ "1595349600," \
+ "{" \
+ "\"timestamp\": \"string\"" \
+ "}]"
+
+/* "1595349600" in RFC3339 format: 2020-07-21T16:40:00Z */
+#define TIMESTAMP_FORMAT_OBJECT_MISSING_SUBFIELD "[" \
+ "1595349600," \
+ "{" \
+ "\"timestamp\": " \
+ "{" \
+ "\"nanos\": \"12345\"" \
+ "}" \
+ "}]"
+
+/* "1595349600" in RFC3339 format: 2020-07-21T16:40:00Z */
+#define TIMESTAMP_FORMAT_OBJECT_INCORRECT_TYPE_SUBFIELDS "[" \
+ "1595349600," \
+ "{" \
+ "\"timestamp\": " \
+ "{" \
+ "\"seconds\": \"string\"," \
+ "\"nanos\": true" \
+ "}" \
+ "}]"
+
+
+/* timestamp after parsing: 2020-07-21T16:40:42.000012345Z */
+#define TIMESTAMP_FORMAT_DUO_FIELDS_COMMON_CASE "[" \
+ "1595349600," \
+ "{" \
+ "\"timestampSeconds\": \"1595349642\"," \
+ "\"timestampNanos\": \"12345\"" \
+ "}]"
+
+/* "1595349600" in RFC3339 format: 2020-07-21T16:40:00Z */
+#define TIMESTAMP_FORMAT_DUO_FIELDS_MISSING_NANOS "[" \
+ "1595349600," \
+ "{" \
+ "\"timestampSeconds\": \"1595349642\"" \
+ "}]"
+
+/* "1595349600" in RFC3339 format: 2020-07-21T16:40:00Z */
+#define TIMESTAMP_FORMAT_DUO_FIELDS_INCORRECT_TYPE "[" \
+ "1595349600," \
+ "{" \
+ "\"timestampSeconds\": \"string\"," \
+ "\"timestampNanos\": true" \
+ "}]"
diff --git a/fluent-bit/tests/runtime/data/stackdriver/stackdriver_test_trace.h b/fluent-bit/tests/runtime/data/stackdriver/stackdriver_test_trace.h
new file mode 100644
index 00000000..15c7bc91
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/stackdriver/stackdriver_test_trace.h
@@ -0,0 +1,6 @@
+#define TRACE_COMMON_CASE "[" \
+ "1591111124," \
+ "{" \
+ "\"trace\": \"test-trace-id-xyz\"" \
+ "}]"
+ \ No newline at end of file
diff --git a/fluent-bit/tests/runtime/data/stackdriver/stackdriver_test_trace_sampled.h b/fluent-bit/tests/runtime/data/stackdriver/stackdriver_test_trace_sampled.h
new file mode 100644
index 00000000..fad628e9
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/stackdriver/stackdriver_test_trace_sampled.h
@@ -0,0 +1,11 @@
+#define TRACE_SAMPLED_CASE_TRUE "[" \
+ "1591111124," \
+ "{" \
+ "\"logging.googleapis.com/traceSampled\": true" \
+ "}]"
+
+#define TRACE_SAMPLED_CASE_FALSE "[" \
+ "1591111124," \
+ "{" \
+ "\"logging.googleapis.com/traceSampled\": false" \
+ "}]"
diff --git a/fluent-bit/tests/runtime/data/tail/log/3943.log b/fluent-bit/tests/runtime/data/tail/log/3943.log
new file mode 100644
index 00000000..8f3d91d9
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/tail/log/3943.log
@@ -0,0 +1,2 @@
+bbb
+
diff --git a/fluent-bit/tests/runtime/data/tail/log/dockermode.log b/fluent-bit/tests/runtime/data/tail/log/dockermode.log
new file mode 100644
index 00000000..a5a05ee4
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/tail/log/dockermode.log
@@ -0,0 +1,3 @@
+{"log":"Single log\n"}
+{"log":"Second log\n"}
+{"log":"Third log\n"}
diff --git a/fluent-bit/tests/runtime/data/tail/log/dockermode_firstline_detection.log b/fluent-bit/tests/runtime/data/tail/log/dockermode_firstline_detection.log
new file mode 100644
index 00000000..56a2711a
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/tail/log/dockermode_firstline_detection.log
@@ -0,0 +1,9 @@
+{"log":"Single log\n"}
+{"log":"Second log\n"}
+{"log":"Third log\n"}
+{"log":"2020-03-24 Multiple lines: \n"}
+{"log":"first bullet point\n"}
+{"log":"second bullet point\n"}
+{"log":"third bullet point\n"}
+{"log":"fourth bullet point\n"}
+{"log":"2020-03-24 Single line\n"}
diff --git a/fluent-bit/tests/runtime/data/tail/log/dockermode_multiple_lines.log b/fluent-bit/tests/runtime/data/tail/log/dockermode_multiple_lines.log
new file mode 100644
index 00000000..564dabbb
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/tail/log/dockermode_multiple_lines.log
@@ -0,0 +1,6 @@
+{"log":"2020-03-24 Multiple lines: \n"}
+{"log":"first bullet point\n"}
+{"log":"second bullet point\n"}
+{"log":"third bullet point\n"}
+{"log":"fourth bullet point\n"}
+{"log":"2020-03-24 Single line\n"}
diff --git a/fluent-bit/tests/runtime/data/tail/log/dockermode_splitted_line.log b/fluent-bit/tests/runtime/data/tail/log/dockermode_splitted_line.log
new file mode 100644
index 00000000..8f80f1b3
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/tail/log/dockermode_splitted_line.log
@@ -0,0 +1,6 @@
+{"log":"2020-03-24 Single "}
+{"log":"li"}
+{"log":"ne\n"}
+{"log":"2020-03-24 Another "}
+{"log":"single "}
+{"log":"line\n"}
diff --git a/fluent-bit/tests/runtime/data/tail/log/dockermode_splitted_multiple_lines.log b/fluent-bit/tests/runtime/data/tail/log/dockermode_splitted_multiple_lines.log
new file mode 100644
index 00000000..2c7d36dd
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/tail/log/dockermode_splitted_multiple_lines.log
@@ -0,0 +1,8 @@
+{"log":"2020-03-24 Multiple lines: \n"}
+{"log":"first bullet point\n"}
+{"log":"second bullet point\n"}
+{"log":"third "}
+{"log":"bullet "}
+{"log":"point\n"}
+{"log":"fourth bullet point\n"}
+{"log":"2020-03-24 Single line\n"}
diff --git a/fluent-bit/tests/runtime/data/tail/log/multiline_001.log b/fluent-bit/tests/runtime/data/tail/log/multiline_001.log
new file mode 100644
index 00000000..986223d8
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/tail/log/multiline_001.log
@@ -0,0 +1,6 @@
+{"key1": 12345, "key2": "abc", "time": "2006-07-28T13:22:04Z","message":"Dec 14 06:41:08 Exception in thread main java.lang.RuntimeException: Something has gone wrong, aborting!"}
+{"key1": 12345, "key2": "abc", "time": "2006-07-28T13:22:04Z","message":" at com.myproject.module.MyProject.badMethod(MyProject.java:22)"}
+{"key1": 12345, "key2": "abc", "time": "2006-07-28T13:22:04Z","message":" at com.myproject.module.MyProject.oneMoreMethod(MyProject.java:18)"}
+{"key1": 12345, "key2": "abc", "time": "2006-07-28T13:22:04Z","message":" at com.myproject.module.MyProject.anotherMethod(MyProject.java:14)"}
+{"key1": 12345, "key2": "abc", "time": "2006-07-28T13:22:04Z","message":" at com.myproject.module.MyProject.oneMoreMethod(MyProject.java:13)"}
+{"key1": 12345, "key2": "abc", "time": "2006-07-28T13:22:04Z","message":" at com.myproject.module.MyProject.oneMoreMethod(MyProject.java:12)"}
diff --git a/fluent-bit/tests/runtime/data/tail/out/3943.out b/fluent-bit/tests/runtime/data/tail/out/3943.out
new file mode 100644
index 00000000..52a0f10a
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/tail/out/3943.out
@@ -0,0 +1,2 @@
+{"log":"bbb"}
+{"log":""} \ No newline at end of file
diff --git a/fluent-bit/tests/runtime/data/tail/out/dockermode.out b/fluent-bit/tests/runtime/data/tail/out/dockermode.out
new file mode 100644
index 00000000..a5a05ee4
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/tail/out/dockermode.out
@@ -0,0 +1,3 @@
+{"log":"Single log\n"}
+{"log":"Second log\n"}
+{"log":"Third log\n"}
diff --git a/fluent-bit/tests/runtime/data/tail/out/dockermode_firstline_detection.out b/fluent-bit/tests/runtime/data/tail/out/dockermode_firstline_detection.out
new file mode 100644
index 00000000..00eecce9
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/tail/out/dockermode_firstline_detection.out
@@ -0,0 +1,5 @@
+{"log":"Single log\n"}
+{"log":"Second log\n"}
+{"log":"Third log\n"}
+{"log":"2020-03-24 Multiple lines: \nfirst bullet point\nsecond bullet point\nthird bullet point\nfourth bullet point\n"}
+{"log":"2020-03-24 Single line\n"}
diff --git a/fluent-bit/tests/runtime/data/tail/out/dockermode_multiple_lines.out b/fluent-bit/tests/runtime/data/tail/out/dockermode_multiple_lines.out
new file mode 100644
index 00000000..27fba1b9
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/tail/out/dockermode_multiple_lines.out
@@ -0,0 +1,2 @@
+{"log":"2020-03-24 Multiple lines: \nfirst bullet point\nsecond bullet point\nthird bullet point\nfourth bullet point\n"}
+{"log":"2020-03-24 Single line\n"}
diff --git a/fluent-bit/tests/runtime/data/tail/out/dockermode_splitted_line.out b/fluent-bit/tests/runtime/data/tail/out/dockermode_splitted_line.out
new file mode 100644
index 00000000..14d0aa8a
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/tail/out/dockermode_splitted_line.out
@@ -0,0 +1,2 @@
+{"log":"2020-03-24 Single line\n"}
+{"log":"2020-03-24 Another single line\n"}
diff --git a/fluent-bit/tests/runtime/data/tail/out/dockermode_splitted_multiple_lines.out b/fluent-bit/tests/runtime/data/tail/out/dockermode_splitted_multiple_lines.out
new file mode 100644
index 00000000..27fba1b9
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/tail/out/dockermode_splitted_multiple_lines.out
@@ -0,0 +1,2 @@
+{"log":"2020-03-24 Multiple lines: \nfirst bullet point\nsecond bullet point\nthird bullet point\nfourth bullet point\n"}
+{"log":"2020-03-24 Single line\n"}
diff --git a/fluent-bit/tests/runtime/data/tail/out/multiline_001.out b/fluent-bit/tests/runtime/data/tail/out/multiline_001.out
new file mode 100644
index 00000000..73f48580
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/tail/out/multiline_001.out
@@ -0,0 +1 @@
+{"key1":12345,"key2":"abc","time":"2006-07-28T13:22:04Z","message":"Dec 14 06:41:08 Exception in thread main java.lang.RuntimeException: Something has gone wrong, aborting!\n at com.myproject.module.MyProject.badMethod(MyProject.java:22)\n at com.myproject.module.MyProject.oneMoreMethod(MyProject.java:18)\n at com.myproject.module.MyProject.anotherMethod(MyProject.java:14)\n at com.myproject.module.MyProject.oneMoreMethod(MyProject.java:13)\n at com.myproject.module.MyProject.oneMoreMethod(MyProject.java:12)"}
diff --git a/fluent-bit/tests/runtime/data/tail/out/skip_long_lines.out b/fluent-bit/tests/runtime/data/tail/out/skip_long_lines.out
new file mode 100644
index 00000000..c7c32913
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/tail/out/skip_long_lines.out
@@ -0,0 +1,2 @@
+{"log":"before_long_line"}
+{"log":"after_long_line"} \ No newline at end of file
diff --git a/fluent-bit/tests/runtime/data/tail/parsers.conf b/fluent-bit/tests/runtime/data/tail/parsers.conf
new file mode 100644
index 00000000..28bde475
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/tail/parsers.conf
@@ -0,0 +1,10 @@
+[PARSER]
+ Name docker
+ Format json
+ Time_Key time
+ Time_Format %Y-%m-%dT%H:%M:%S.%L%z
+
+[PARSER]
+ Name docker_multiline
+ Format regex
+ Regex (?<log>^{"log":"\d{4}-\d{2}-\d{2}.*)
diff --git a/fluent-bit/tests/runtime/data/tail/parsers_multiline_json.conf b/fluent-bit/tests/runtime/data/tail/parsers_multiline_json.conf
new file mode 100644
index 00000000..1ed1cfdf
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/tail/parsers_multiline_json.conf
@@ -0,0 +1,24 @@
+[PARSER]
+ Name json
+ Format json
+
+[MULTILINE_PARSER]
+ name multiline-json-regex
+ key_content message
+ type regex
+ parser json
+ flush_timeout 2000
+
+ #
+ # Regex rules for multiline parsing
+ # ---------------------------------
+ #
+ # configuration hints:
+ #
+ # - first state always has the name: start_state
+ # - every field in the rule must be inside double quotes
+ #
+ # rules | state name | regex pattern | next state
+ # ------|---------------|--------------------------------------------
+ rule "start_state" "/(Dec \d+ \d+\:\d+\:\d+)(.*)/" "cont"
+ rule "cont" "/^\s+at.*/" "cont"
diff --git a/fluent-bit/tests/runtime/data/td/json_td.h b/fluent-bit/tests/runtime/data/td/json_td.h
new file mode 100755
index 00000000..c9f4e01d
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/td/json_td.h
@@ -0,0 +1,506 @@
+#define JSON_TD "[" \
+ "1448403340," \
+ "{" \
+ "\"key_0\": \"val_0\"," \
+ "\"key_1\": \"val_1\"," \
+ "\"key_2\": \"val_2\"," \
+ "\"key_3\": \"val_3\"," \
+ "\"key_4\": \"val_4\"," \
+ "\"key_5\": \"val_5\"," \
+ "\"key_6\": \"val_6\"," \
+ "\"key_7\": \"val_7\"," \
+ "\"key_8\": \"val_8\"," \
+ "\"key_9\": \"val_9\"," \
+ "\"key_10\": \"val_10\"," \
+ "\"key_11\": \"val_11\"," \
+ "\"key_12\": \"val_12\"," \
+ "\"key_13\": \"val_13\"," \
+ "\"key_14\": \"val_14\"," \
+ "\"key_15\": \"val_15\"," \
+ "\"key_16\": \"val_16\"," \
+ "\"key_17\": \"val_17\"," \
+ "\"key_18\": \"val_18\"," \
+ "\"key_19\": \"val_19\"," \
+ "\"key_20\": \"val_20\"," \
+ "\"key_21\": \"val_21\"," \
+ "\"key_22\": \"val_22\"," \
+ "\"key_23\": \"val_23\"," \
+ "\"key_24\": \"val_24\"," \
+ "\"key_25\": \"val_25\"," \
+ "\"key_26\": \"val_26\"," \
+ "\"key_27\": \"val_27\"," \
+ "\"key_28\": \"val_28\"," \
+ "\"key_29\": \"val_29\"," \
+ "\"key_30\": \"val_30\"," \
+ "\"key_31\": \"val_31\"," \
+ "\"key_32\": \"val_32\"," \
+ "\"key_33\": \"val_33\"," \
+ "\"key_34\": \"val_34\"," \
+ "\"key_35\": \"val_35\"," \
+ "\"key_36\": \"val_36\"," \
+ "\"key_37\": \"val_37\"," \
+ "\"key_38\": \"val_38\"," \
+ "\"key_39\": \"val_39\"," \
+ "\"key_40\": \"val_40\"," \
+ "\"key_41\": \"val_41\"," \
+ "\"key_42\": \"val_42\"," \
+ "\"key_43\": \"val_43\"," \
+ "\"key_44\": \"val_44\"," \
+ "\"key_45\": \"val_45\"," \
+ "\"key_46\": \"val_46\"," \
+ "\"key_47\": \"val_47\"," \
+ "\"key_48\": \"val_48\"," \
+ "\"key_49\": \"val_49\"," \
+ "\"key_50\": \"val_50\"," \
+ "\"key_51\": \"val_51\"," \
+ "\"key_52\": \"val_52\"," \
+ "\"key_53\": \"val_53\"," \
+ "\"key_54\": \"val_54\"," \
+ "\"key_55\": \"val_55\"," \
+ "\"key_56\": \"val_56\"," \
+ "\"key_57\": \"val_57\"," \
+ "\"key_58\": \"val_58\"," \
+ "\"key_59\": \"val_59\"," \
+ "\"key_60\": \"val_60\"," \
+ "\"key_61\": \"val_61\"," \
+ "\"key_62\": \"val_62\"," \
+ "\"key_63\": \"val_63\"," \
+ "\"key_64\": \"val_64\"," \
+ "\"key_65\": \"val_65\"," \
+ "\"key_66\": \"val_66\"," \
+ "\"key_67\": \"val_67\"," \
+ "\"key_68\": \"val_68\"," \
+ "\"key_69\": \"val_69\"," \
+ "\"key_70\": \"val_70\"," \
+ "\"key_71\": \"val_71\"," \
+ "\"key_72\": \"val_72\"," \
+ "\"key_73\": \"val_73\"," \
+ "\"key_74\": \"val_74\"," \
+ "\"key_75\": \"val_75\"," \
+ "\"key_76\": \"val_76\"," \
+ "\"key_77\": \"val_77\"," \
+ "\"key_78\": \"val_78\"," \
+ "\"key_79\": \"val_79\"," \
+ "\"key_80\": \"val_80\"," \
+ "\"key_81\": \"val_81\"," \
+ "\"key_82\": \"val_82\"," \
+ "\"key_83\": \"val_83\"," \
+ "\"key_84\": \"val_84\"," \
+ "\"key_85\": \"val_85\"," \
+ "\"key_86\": \"val_86\"," \
+ "\"key_87\": \"val_87\"," \
+ "\"key_88\": \"val_88\"," \
+ "\"key_89\": \"val_89\"," \
+ "\"key_90\": \"val_90\"," \
+ "\"key_91\": \"val_91\"," \
+ "\"key_92\": \"val_92\"," \
+ "\"key_93\": \"val_93\"," \
+ "\"key_94\": \"val_94\"," \
+ "\"key_95\": \"val_95\"," \
+ "\"key_96\": \"val_96\"," \
+ "\"key_97\": \"val_97\"," \
+ "\"key_98\": \"val_98\"," \
+ "\"key_99\": \"val_99\"," \
+ "\"key_100\": \"val_100\"," \
+ "\"key_101\": \"val_101\"," \
+ "\"key_102\": \"val_102\"," \
+ "\"key_103\": \"val_103\"," \
+ "\"key_104\": \"val_104\"," \
+ "\"key_105\": \"val_105\"," \
+ "\"key_106\": \"val_106\"," \
+ "\"key_107\": \"val_107\"," \
+ "\"key_108\": \"val_108\"," \
+ "\"key_109\": \"val_109\"," \
+ "\"key_110\": \"val_110\"," \
+ "\"key_111\": \"val_111\"," \
+ "\"key_112\": \"val_112\"," \
+ "\"key_113\": \"val_113\"," \
+ "\"key_114\": \"val_114\"," \
+ "\"key_115\": \"val_115\"," \
+ "\"key_116\": \"val_116\"," \
+ "\"key_117\": \"val_117\"," \
+ "\"key_118\": \"val_118\"," \
+ "\"key_119\": \"val_119\"," \
+ "\"key_120\": \"val_120\"," \
+ "\"key_121\": \"val_121\"," \
+ "\"key_122\": \"val_122\"," \
+ "\"key_123\": \"val_123\"," \
+ "\"key_124\": \"val_124\"," \
+ "\"key_125\": \"val_125\"," \
+ "\"key_126\": \"val_126\"," \
+ "\"key_127\": \"val_127\"," \
+ "\"key_128\": \"val_128\"," \
+ "\"key_129\": \"val_129\"," \
+ "\"key_130\": \"val_130\"," \
+ "\"key_131\": \"val_131\"," \
+ "\"key_132\": \"val_132\"," \
+ "\"key_133\": \"val_133\"," \
+ "\"key_134\": \"val_134\"," \
+ "\"key_135\": \"val_135\"," \
+ "\"key_136\": \"val_136\"," \
+ "\"key_137\": \"val_137\"," \
+ "\"key_138\": \"val_138\"," \
+ "\"key_139\": \"val_139\"," \
+ "\"key_140\": \"val_140\"," \
+ "\"key_141\": \"val_141\"," \
+ "\"key_142\": \"val_142\"," \
+ "\"key_143\": \"val_143\"," \
+ "\"key_144\": \"val_144\"," \
+ "\"key_145\": \"val_145\"," \
+ "\"key_146\": \"val_146\"," \
+ "\"key_147\": \"val_147\"," \
+ "\"key_148\": \"val_148\"," \
+ "\"key_149\": \"val_149\"," \
+ "\"key_150\": \"val_150\"," \
+ "\"key_151\": \"val_151\"," \
+ "\"key_152\": \"val_152\"," \
+ "\"key_153\": \"val_153\"," \
+ "\"key_154\": \"val_154\"," \
+ "\"key_155\": \"val_155\"," \
+ "\"key_156\": \"val_156\"," \
+ "\"key_157\": \"val_157\"," \
+ "\"key_158\": \"val_158\"," \
+ "\"key_159\": \"val_159\"," \
+ "\"key_160\": \"val_160\"," \
+ "\"key_161\": \"val_161\"," \
+ "\"key_162\": \"val_162\"," \
+ "\"key_163\": \"val_163\"," \
+ "\"key_164\": \"val_164\"," \
+ "\"key_165\": \"val_165\"," \
+ "\"key_166\": \"val_166\"," \
+ "\"key_167\": \"val_167\"," \
+ "\"key_168\": \"val_168\"," \
+ "\"key_169\": \"val_169\"," \
+ "\"key_170\": \"val_170\"," \
+ "\"key_171\": \"val_171\"," \
+ "\"key_172\": \"val_172\"," \
+ "\"key_173\": \"val_173\"," \
+ "\"key_174\": \"val_174\"," \
+ "\"key_175\": \"val_175\"," \
+ "\"key_176\": \"val_176\"," \
+ "\"key_177\": \"val_177\"," \
+ "\"key_178\": \"val_178\"," \
+ "\"key_179\": \"val_179\"," \
+ "\"key_180\": \"val_180\"," \
+ "\"key_181\": \"val_181\"," \
+ "\"key_182\": \"val_182\"," \
+ "\"key_183\": \"val_183\"," \
+ "\"key_184\": \"val_184\"," \
+ "\"key_185\": \"val_185\"," \
+ "\"key_186\": \"val_186\"," \
+ "\"key_187\": \"val_187\"," \
+ "\"key_188\": \"val_188\"," \
+ "\"key_189\": \"val_189\"," \
+ "\"key_190\": \"val_190\"," \
+ "\"key_191\": \"val_191\"," \
+ "\"key_192\": \"val_192\"," \
+ "\"key_193\": \"val_193\"," \
+ "\"key_194\": \"val_194\"," \
+ "\"key_195\": \"val_195\"," \
+ "\"key_196\": \"val_196\"," \
+ "\"key_197\": \"val_197\"," \
+ "\"key_198\": \"val_198\"," \
+ "\"key_199\": \"val_199\"," \
+ "\"key_200\": \"val_200\"," \
+ "\"key_201\": \"val_201\"," \
+ "\"key_202\": \"val_202\"," \
+ "\"key_203\": \"val_203\"," \
+ "\"key_204\": \"val_204\"," \
+ "\"key_205\": \"val_205\"," \
+ "\"key_206\": \"val_206\"," \
+ "\"key_207\": \"val_207\"," \
+ "\"key_208\": \"val_208\"," \
+ "\"key_209\": \"val_209\"," \
+ "\"key_210\": \"val_210\"," \
+ "\"key_211\": \"val_211\"," \
+ "\"key_212\": \"val_212\"," \
+ "\"key_213\": \"val_213\"," \
+ "\"key_214\": \"val_214\"," \
+ "\"key_215\": \"val_215\"," \
+ "\"key_216\": \"val_216\"," \
+ "\"key_217\": \"val_217\"," \
+ "\"key_218\": \"val_218\"," \
+ "\"key_219\": \"val_219\"," \
+ "\"key_220\": \"val_220\"," \
+ "\"key_221\": \"val_221\"," \
+ "\"key_222\": \"val_222\"," \
+ "\"key_223\": \"val_223\"," \
+ "\"key_224\": \"val_224\"," \
+ "\"key_225\": \"val_225\"," \
+ "\"key_226\": \"val_226\"," \
+ "\"key_227\": \"val_227\"," \
+ "\"key_228\": \"val_228\"," \
+ "\"key_229\": \"val_229\"," \
+ "\"key_230\": \"val_230\"," \
+ "\"key_231\": \"val_231\"," \
+ "\"key_232\": \"val_232\"," \
+ "\"key_233\": \"val_233\"," \
+ "\"key_234\": \"val_234\"," \
+ "\"key_235\": \"val_235\"," \
+ "\"key_236\": \"val_236\"," \
+ "\"key_237\": \"val_237\"," \
+ "\"key_238\": \"val_238\"," \
+ "\"key_239\": \"val_239\"," \
+ "\"key_240\": \"val_240\"," \
+ "\"key_241\": \"val_241\"," \
+ "\"key_242\": \"val_242\"," \
+ "\"key_243\": \"val_243\"," \
+ "\"key_244\": \"val_244\"," \
+ "\"key_245\": \"val_245\"," \
+ "\"key_246\": \"val_246\"," \
+ "\"key_247\": \"val_247\"," \
+ "\"key_248\": \"val_248\"," \
+ "\"key_249\": \"val_249\"," \
+ "\"key_250\": \"val_250\"," \
+ "\"key_251\": \"val_251\"," \
+ "\"key_252\": \"val_252\"," \
+ "\"key_253\": \"val_253\"," \
+ "\"key_254\": \"val_254\"," \
+ "\"key_255\": \"val_255\"," \
+ "\"key_256\": \"val_256\"," \
+ "\"key_257\": \"val_257\"," \
+ "\"key_258\": \"val_258\"," \
+ "\"key_259\": \"val_259\"," \
+ "\"key_260\": \"val_260\"," \
+ "\"key_261\": \"val_261\"," \
+ "\"key_262\": \"val_262\"," \
+ "\"key_263\": \"val_263\"," \
+ "\"key_264\": \"val_264\"," \
+ "\"key_265\": \"val_265\"," \
+ "\"key_266\": \"val_266\"," \
+ "\"key_267\": \"val_267\"," \
+ "\"key_268\": \"val_268\"," \
+ "\"key_269\": \"val_269\"," \
+ "\"key_270\": \"val_270\"," \
+ "\"key_271\": \"val_271\"," \
+ "\"key_272\": \"val_272\"," \
+ "\"key_273\": \"val_273\"," \
+ "\"key_274\": \"val_274\"," \
+ "\"key_275\": \"val_275\"," \
+ "\"key_276\": \"val_276\"," \
+ "\"key_277\": \"val_277\"," \
+ "\"key_278\": \"val_278\"," \
+ "\"key_279\": \"val_279\"," \
+ "\"key_280\": \"val_280\"," \
+ "\"key_281\": \"val_281\"," \
+ "\"key_282\": \"val_282\"," \
+ "\"key_283\": \"val_283\"," \
+ "\"key_284\": \"val_284\"," \
+ "\"key_285\": \"val_285\"," \
+ "\"key_286\": \"val_286\"," \
+ "\"key_287\": \"val_287\"," \
+ "\"key_288\": \"val_288\"," \
+ "\"key_289\": \"val_289\"," \
+ "\"key_290\": \"val_290\"," \
+ "\"key_291\": \"val_291\"," \
+ "\"key_292\": \"val_292\"," \
+ "\"key_293\": \"val_293\"," \
+ "\"key_294\": \"val_294\"," \
+ "\"key_295\": \"val_295\"," \
+ "\"key_296\": \"val_296\"," \
+ "\"key_297\": \"val_297\"," \
+ "\"key_298\": \"val_298\"," \
+ "\"key_299\": \"val_299\"," \
+ "\"key_300\": \"val_300\"," \
+ "\"key_301\": \"val_301\"," \
+ "\"key_302\": \"val_302\"," \
+ "\"key_303\": \"val_303\"," \
+ "\"key_304\": \"val_304\"," \
+ "\"key_305\": \"val_305\"," \
+ "\"key_306\": \"val_306\"," \
+ "\"key_307\": \"val_307\"," \
+ "\"key_308\": \"val_308\"," \
+ "\"key_309\": \"val_309\"," \
+ "\"key_310\": \"val_310\"," \
+ "\"key_311\": \"val_311\"," \
+ "\"key_312\": \"val_312\"," \
+ "\"key_313\": \"val_313\"," \
+ "\"key_314\": \"val_314\"," \
+ "\"key_315\": \"val_315\"," \
+ "\"key_316\": \"val_316\"," \
+ "\"key_317\": \"val_317\"," \
+ "\"key_318\": \"val_318\"," \
+ "\"key_319\": \"val_319\"," \
+ "\"key_320\": \"val_320\"," \
+ "\"key_321\": \"val_321\"," \
+ "\"key_322\": \"val_322\"," \
+ "\"key_323\": \"val_323\"," \
+ "\"key_324\": \"val_324\"," \
+ "\"key_325\": \"val_325\"," \
+ "\"key_326\": \"val_326\"," \
+ "\"key_327\": \"val_327\"," \
+ "\"key_328\": \"val_328\"," \
+ "\"key_329\": \"val_329\"," \
+ "\"key_330\": \"val_330\"," \
+ "\"key_331\": \"val_331\"," \
+ "\"key_332\": \"val_332\"," \
+ "\"key_333\": \"val_333\"," \
+ "\"key_334\": \"val_334\"," \
+ "\"key_335\": \"val_335\"," \
+ "\"key_336\": \"val_336\"," \
+ "\"key_337\": \"val_337\"," \
+ "\"key_338\": \"val_338\"," \
+ "\"key_339\": \"val_339\"," \
+ "\"key_340\": \"val_340\"," \
+ "\"key_341\": \"val_341\"," \
+ "\"key_342\": \"val_342\"," \
+ "\"key_343\": \"val_343\"," \
+ "\"key_344\": \"val_344\"," \
+ "\"key_345\": \"val_345\"," \
+ "\"key_346\": \"val_346\"," \
+ "\"key_347\": \"val_347\"," \
+ "\"key_348\": \"val_348\"," \
+ "\"key_349\": \"val_349\"," \
+ "\"key_350\": \"val_350\"," \
+ "\"key_351\": \"val_351\"," \
+ "\"key_352\": \"val_352\"," \
+ "\"key_353\": \"val_353\"," \
+ "\"key_354\": \"val_354\"," \
+ "\"key_355\": \"val_355\"," \
+ "\"key_356\": \"val_356\"," \
+ "\"key_357\": \"val_357\"," \
+ "\"key_358\": \"val_358\"," \
+ "\"key_359\": \"val_359\"," \
+ "\"key_360\": \"val_360\"," \
+ "\"key_361\": \"val_361\"," \
+ "\"key_362\": \"val_362\"," \
+ "\"key_363\": \"val_363\"," \
+ "\"key_364\": \"val_364\"," \
+ "\"key_365\": \"val_365\"," \
+ "\"key_366\": \"val_366\"," \
+ "\"key_367\": \"val_367\"," \
+ "\"key_368\": \"val_368\"," \
+ "\"key_369\": \"val_369\"," \
+ "\"key_370\": \"val_370\"," \
+ "\"key_371\": \"val_371\"," \
+ "\"key_372\": \"val_372\"," \
+ "\"key_373\": \"val_373\"," \
+ "\"key_374\": \"val_374\"," \
+ "\"key_375\": \"val_375\"," \
+ "\"key_376\": \"val_376\"," \
+ "\"key_377\": \"val_377\"," \
+ "\"key_378\": \"val_378\"," \
+ "\"key_379\": \"val_379\"," \
+ "\"key_380\": \"val_380\"," \
+ "\"key_381\": \"val_381\"," \
+ "\"key_382\": \"val_382\"," \
+ "\"key_383\": \"val_383\"," \
+ "\"key_384\": \"val_384\"," \
+ "\"key_385\": \"val_385\"," \
+ "\"key_386\": \"val_386\"," \
+ "\"key_387\": \"val_387\"," \
+ "\"key_388\": \"val_388\"," \
+ "\"key_389\": \"val_389\"," \
+ "\"key_390\": \"val_390\"," \
+ "\"key_391\": \"val_391\"," \
+ "\"key_392\": \"val_392\"," \
+ "\"key_393\": \"val_393\"," \
+ "\"key_394\": \"val_394\"," \
+ "\"key_395\": \"val_395\"," \
+ "\"key_396\": \"val_396\"," \
+ "\"key_397\": \"val_397\"," \
+ "\"key_398\": \"val_398\"," \
+ "\"key_399\": \"val_399\"," \
+ "\"key_400\": \"val_400\"," \
+ "\"key_401\": \"val_401\"," \
+ "\"key_402\": \"val_402\"," \
+ "\"key_403\": \"val_403\"," \
+ "\"key_404\": \"val_404\"," \
+ "\"key_405\": \"val_405\"," \
+ "\"key_406\": \"val_406\"," \
+ "\"key_407\": \"val_407\"," \
+ "\"key_408\": \"val_408\"," \
+ "\"key_409\": \"val_409\"," \
+ "\"key_410\": \"val_410\"," \
+ "\"key_411\": \"val_411\"," \
+ "\"key_412\": \"val_412\"," \
+ "\"key_413\": \"val_413\"," \
+ "\"key_414\": \"val_414\"," \
+ "\"key_415\": \"val_415\"," \
+ "\"key_416\": \"val_416\"," \
+ "\"key_417\": \"val_417\"," \
+ "\"key_418\": \"val_418\"," \
+ "\"key_419\": \"val_419\"," \
+ "\"key_420\": \"val_420\"," \
+ "\"key_421\": \"val_421\"," \
+ "\"key_422\": \"val_422\"," \
+ "\"key_423\": \"val_423\"," \
+ "\"key_424\": \"val_424\"," \
+ "\"key_425\": \"val_425\"," \
+ "\"key_426\": \"val_426\"," \
+ "\"key_427\": \"val_427\"," \
+ "\"key_428\": \"val_428\"," \
+ "\"key_429\": \"val_429\"," \
+ "\"key_430\": \"val_430\"," \
+ "\"key_431\": \"val_431\"," \
+ "\"key_432\": \"val_432\"," \
+ "\"key_433\": \"val_433\"," \
+ "\"key_434\": \"val_434\"," \
+ "\"key_435\": \"val_435\"," \
+ "\"key_436\": \"val_436\"," \
+ "\"key_437\": \"val_437\"," \
+ "\"key_438\": \"val_438\"," \
+ "\"key_439\": \"val_439\"," \
+ "\"key_440\": \"val_440\"," \
+ "\"key_441\": \"val_441\"," \
+ "\"key_442\": \"val_442\"," \
+ "\"key_443\": \"val_443\"," \
+ "\"key_444\": \"val_444\"," \
+ "\"key_445\": \"val_445\"," \
+ "\"key_446\": \"val_446\"," \
+ "\"key_447\": \"val_447\"," \
+ "\"key_448\": \"val_448\"," \
+ "\"key_449\": \"val_449\"," \
+ "\"key_450\": \"val_450\"," \
+ "\"key_451\": \"val_451\"," \
+ "\"key_452\": \"val_452\"," \
+ "\"key_453\": \"val_453\"," \
+ "\"key_454\": \"val_454\"," \
+ "\"key_455\": \"val_455\"," \
+ "\"key_456\": \"val_456\"," \
+ "\"key_457\": \"val_457\"," \
+ "\"key_458\": \"val_458\"," \
+ "\"key_459\": \"val_459\"," \
+ "\"key_460\": \"val_460\"," \
+ "\"key_461\": \"val_461\"," \
+ "\"key_462\": \"val_462\"," \
+ "\"key_463\": \"val_463\"," \
+ "\"key_464\": \"val_464\"," \
+ "\"key_465\": \"val_465\"," \
+ "\"key_466\": \"val_466\"," \
+ "\"key_467\": \"val_467\"," \
+ "\"key_468\": \"val_468\"," \
+ "\"key_469\": \"val_469\"," \
+ "\"key_470\": \"val_470\"," \
+ "\"key_471\": \"val_471\"," \
+ "\"key_472\": \"val_472\"," \
+ "\"key_473\": \"val_473\"," \
+ "\"key_474\": \"val_474\"," \
+ "\"key_475\": \"val_475\"," \
+ "\"key_476\": \"val_476\"," \
+ "\"key_477\": \"val_477\"," \
+ "\"key_478\": \"val_478\"," \
+ "\"key_479\": \"val_479\"," \
+ "\"key_480\": \"val_480\"," \
+ "\"key_481\": \"val_481\"," \
+ "\"key_482\": \"val_482\"," \
+ "\"key_483\": \"val_483\"," \
+ "\"key_484\": \"val_484\"," \
+ "\"key_485\": \"val_485\"," \
+ "\"key_486\": \"val_486\"," \
+ "\"key_487\": \"val_487\"," \
+ "\"key_488\": \"val_488\"," \
+ "\"key_489\": \"val_489\"," \
+ "\"key_490\": \"val_490\"," \
+ "\"key_491\": \"val_491\"," \
+ "\"key_492\": \"val_492\"," \
+ "\"key_493\": \"val_493\"," \
+ "\"key_494\": \"val_494\"," \
+ "\"key_495\": \"val_495\"," \
+ "\"key_496\": \"val_496\"," \
+ "\"key_497\": \"val_497\"," \
+ "\"key_498\": \"val_498\"," \
+ "\"key_499\": \"val_499\"," \
+ "\"END_KEY\": \"JSON_END\"" \
+ "}]"
+
diff --git a/fluent-bit/tests/runtime/data/tls/certificate.pem b/fluent-bit/tests/runtime/data/tls/certificate.pem
new file mode 100644
index 00000000..b7971987
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/tls/certificate.pem
@@ -0,0 +1,22 @@
+-----BEGIN CERTIFICATE-----
+MIIDlzCCAn+gAwIBAgIUCl24aoQh3HuyObboivsozKKOb3cwDQYJKoZIhvcNAQEL
+BQAwWzELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM
+GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDEUMBIGA1UEAwwLbGVvLnZjYXAubWUw
+HhcNMjIwODE3MTM0OTAyWhcNMjMwODE3MTM0OTAyWjBbMQswCQYDVQQGEwJBVTET
+MBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0cyBQ
+dHkgTHRkMRQwEgYDVQQDDAtsZW8udmNhcC5tZTCCASIwDQYJKoZIhvcNAQEBBQAD
+ggEPADCCAQoCggEBAJ2cbLtGhSeGPAXKitw+PN7U8CkaSGL7BssPFSuqtuVkJ1AH
+puluHq62FHm4UgTyJB/Iundf1kBxiOehGFr9E1fGp6kUety6iBZK3mmmX0NdXY2A
+ObqfvxTgPNVPEj+5Qp0CJW6fEBRhHrFgpf+OdKzoKnjSCbl1EyJ1wFZeSNDTx98I
+h951xEOCobcXj1qXHDd0snRW5QNKTdSnj+3amqrNqV5DrkCyyb5Rq/VQX9LIyGV8
+tOyq50mUKeK+vOu/oNwfkZqgZ5wlY/AUyPMNvd8UKitnWeQMiMmr3ImQRZLkFnoE
+2mi2Xr6ZQhmsweWbTmmUYxr+ej7L5WvBVQEkbd0CAwEAAaNTMFEwHQYDVR0OBBYE
+FGliHqbvEsRN36C2w1cCq5M/gGCRMB8GA1UdIwQYMBaAFGliHqbvEsRN36C2w1cC
+q5M/gGCRMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBACWCNohz
+YbnnDzGXMhGlfV5PywH6+gguqTrtzJlfJB/FGHDMybBvEp9gda5ssPZfPdv6aAvo
+hz2XC+uwJqYn76ZcX+LOixsqhoXJ367pT0ggMSUB/UNvGkzMFWuGerxcB5Q7xvsh
+0Ui37Ojok7Ozj9Ofk/zroJB1WG3kPDtwoo+GwNmJaDtXhOutRPxCqp5Dw+dC0N0c
+TlPCBRB17hx49Zjw+h9sv1VmOUtQcplNZgRL9lguv7eXB6y0sSdpDyDLlTBbRMGl
+uVnQ20uKnqqALRfpXDWFL8g01xPNEIfV3KctpJfu1inLWtPuklerl0yeyUh9M1f0
+zCAi0URsGEHMFA0=
+-----END CERTIFICATE-----
diff --git a/fluent-bit/tests/runtime/data/tls/private_key.pem b/fluent-bit/tests/runtime/data/tls/private_key.pem
new file mode 100644
index 00000000..b6a70539
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/tls/private_key.pem
@@ -0,0 +1,28 @@
+-----BEGIN PRIVATE KEY-----
+MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCdnGy7RoUnhjwF
+yorcPjze1PApGkhi+wbLDxUrqrblZCdQB6bpbh6uthR5uFIE8iQfyLp3X9ZAcYjn
+oRha/RNXxqepFHrcuogWSt5ppl9DXV2NgDm6n78U4DzVTxI/uUKdAiVunxAUYR6x
+YKX/jnSs6Cp40gm5dRMidcBWXkjQ08ffCIfedcRDgqG3F49alxw3dLJ0VuUDSk3U
+p4/t2pqqzaleQ65Assm+Uav1UF/SyMhlfLTsqudJlCnivrzrv6DcH5GaoGecJWPw
+FMjzDb3fFCorZ1nkDIjJq9yJkEWS5BZ6BNpotl6+mUIZrMHlm05plGMa/no+y+Vr
+wVUBJG3dAgMBAAECggEANXQ/AEkLkfsZ0lD+RXIqTNzlUttiH4fJpwbHhFbSzvvn
+xWHC/zpk15ZTXXDhCGJjVBBNBX2QeazH5N8jFoDslYF/jX2vqbrturnLswNFHeDF
+gN8zNRNGyDrBBwtZQhl/+SYoMdtqpa7GrRv9UK4s7hOTjASYXbjSM4bCI8i4Y3JX
+5iKYnejTJ4GNXm1S5g4H8QpgXxrxYU7HY1UlMBGni1BSDPb5SxANnFvgw0oypaDG
+4a0KpnUmziBtZo8wIQ7+UeStS4xikIeaT2SQM/ilplPNx0HgPHbTMeTBHQylG1JU
+ztEE04Y1F9UF7cqZnxqQLlKmIqsOepLeDOkRXjDtNQKBgQDQtWYbewCmGuo1+AR7
+wStOXpfhqdu6NxAwX+S06ZdAV7f4duMFb//6uJ/c997qwRlNvRvpPlJBdcT3qziS
+zjvR8uk2YN5N9D+ZN0Yi11vltUYVPeGpoAk4L7+Ruj5RTVqk5iZEZ1RbAv5cRIm0
+D24H4W0Cj/aldDED2pwTb9ukEwKBgQDBUv/s7gUNM3LCkNLc1EDg2adSzoUopxHU
+jIQCitXt5iFpY2Lv2tpaIz4ux4HQGwhmao2MiUYOMit0++/pFaKur66tgRQRsr7F
+uS1fpjqtS51/5uFuc1xcWjVquidZXH9u9iChrYvim6SBkxzFsbu4kXNOj4I562cm
+E2VWH5GETwKBgQCo5ePX4VbJFYbsXeXi8JRHO63V5Uv4Co+DVlcTQOYyH8q1vCBE
+Sjrxf29/tugjOllr29o2i0StzMy1UU7bHyKx6M5qP0In+71sFJshnv6ziltI3Wc9
+ilFrstho6jt8OAle4RGe0bAmZunJaX22xbXZkshRBognpTv1Tnh4ElHBGQKBgHIW
+nVohjXGg7xTLiuUvjaokSI6hugunrOoWksE9VcqziPw83uJV8Y5IRiYtLvq1OVvX
+ffl1+ZXfHa5ID+kqD3uvyhIynrljFxpwkcpkuzQR77zPcDJSeis2QVfey+H8qGe/
+cLp5RJhS6d5eBxjULshZbgbqwhuURKc/wwn0T1gZAoGAXu2wqwBE8ikhpaDVFYZR
+EZe0G1iq03CtabFL0oPiddytV9jJy4Mg457tkCj58uCVkxw/8qjXEnm5OoJAzSlJ
+Goc4wh1N1rngYRbSGG+LxD0DeI/Hj3T5tWezMBLCE7J+hieUuVjOB9ELKip7aTj3
+KLNVudOATWYGXyvzux6ciu0=
+-----END PRIVATE KEY-----
diff --git a/fluent-bit/tests/runtime/data/wasm/append_tag.wasm b/fluent-bit/tests/runtime/data/wasm/append_tag.wasm
new file mode 100755
index 00000000..437fee4e
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/wasm/append_tag.wasm
Binary files differ
diff --git a/fluent-bit/tests/runtime/data/wasm/drop_record.wasm b/fluent-bit/tests/runtime/data/wasm/drop_record.wasm
new file mode 100755
index 00000000..5b884f38
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/wasm/drop_record.wasm
Binary files differ
diff --git a/fluent-bit/tests/runtime/data/wasm/modify_record.wasm b/fluent-bit/tests/runtime/data/wasm/modify_record.wasm
new file mode 100755
index 00000000..30db4157
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/wasm/modify_record.wasm
Binary files differ
diff --git a/fluent-bit/tests/runtime/data/wasm/numeric_records.wasm b/fluent-bit/tests/runtime/data/wasm/numeric_records.wasm
new file mode 100755
index 00000000..8fc35f0d
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/wasm/numeric_records.wasm
Binary files differ
diff --git a/fluent-bit/tests/runtime/data/wasm/say_hello.wasm b/fluent-bit/tests/runtime/data/wasm/say_hello.wasm
new file mode 100755
index 00000000..7e9d01d2
--- /dev/null
+++ b/fluent-bit/tests/runtime/data/wasm/say_hello.wasm
Binary files differ