Skip to content

Commit

Permalink
US-443997-1: Ability to collect heap dumps, GC logs (#358)
Browse files Browse the repository at this point in the history
* Changes to specify diagnostic file size from helm chart

* Mount logs volume and Generate heapdump on OOM for hazelcast clustering
service.

* Minor change

* Changes to push logs to cloudwatch

* Removing changes for pushing logs to Cloudwatch

* Changes to introduce diagnostic metric level and file count
properties
punda1 authored Nov 23, 2021

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
1 parent c36c4fe commit 416812c
Showing 4 changed files with 26 additions and 5 deletions.
Original file line number Diff line number Diff line change
@@ -27,6 +27,8 @@ spec:
imagePullPolicy: {{ .Values.imagePullPolicy }}
{{- end }}
volumeMounts:
- name: logs
mountPath: "/opt/hazelcast/logs"
- name: {{ template "pegaVolumeCredentials" }}
mountPath: "/opt/hazelcast/secrets"
envFrom:
@@ -58,6 +60,9 @@ spec:
port: 5701
restartPolicy: Always
volumes:
# Volume used to mount logs folder
- name: logs
emptyDir: {}
# Volume used to mount secret files.
{{- include "pegaCredentialVolumeTemplate" . | indent 6 }}
imagePullSecrets:
Original file line number Diff line number Diff line change
@@ -46,4 +46,13 @@ data:
{{- if .Values.server.diagnostics_enabled }}
DIAGNOSTICS_ENABLED: {{ .Values.server.diagnostics_enabled | quote }}
{{- end }}
{{- if .Values.server.diagnostics_metric_level }}
DIAGNOSTICS_METRIC_LEVEL: {{ .Values.server.diagnostics_metric_level | quote }}
{{- end }}
{{- if .Values.server.diagnostic_log_file_size_mb }}
DIAGNOSTIC_LOG_FILE_SIZE_MB: {{ .Values.server.diagnostic_log_file_size_mb | quote }}
{{- end }}
{{- if .Values.server.diagnostics_file_count }}
DIAGNOSTICS_FILE_COUNT: {{ .Values.server.diagnostics_file_count | quote }}
{{- end }}
{{ end }}
6 changes: 5 additions & 1 deletion charts/pega/charts/hazelcast/values.yaml
Original file line number Diff line number Diff line change
@@ -23,7 +23,8 @@ client:
clusterName: "PRPC"
# Server side settings for hazelcast
server:
java_opts: "-Dhazelcast.initial.min.cluster.size=3 -Dhazelcast.jmx=true -XX:MaxRAMPercentage=80.0"
java_opts: "-Dhazelcast.initial.min.cluster.size=3 -Dhazelcast.jmx=true
-XX:MaxRAMPercentage=80.0 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/hazelcast/logs/heapdump.hprof"
health_monitoring_level: "OFF"
operation_generic_thread_count: ""
operation_thread_count: ""
@@ -36,3 +37,6 @@ server:
service_dns_timeout: ""
logging_level: "info"
diagnostics_enabled: "true"
diagnostics_metric_level: "info"
diagnostic_log_file_size_mb: "50"
diagnostics_file_count: "3"
11 changes: 7 additions & 4 deletions terratest/src/test/pega/pega-hz-deployment_test.go
Original file line number Diff line number Diff line change
@@ -54,10 +54,13 @@ func VerifyHazelcastDeployment(t *testing.T, yamlContent string) {
require.Equal(t, intstr.FromInt(5701), statefulsetSpec.Containers[0].ReadinessProbe.HTTPGet.Port)
require.Equal(t, "2", statefulsetSpec.Containers[0].Resources.Requests.Cpu().String())
require.Equal(t, "2Gi", statefulsetSpec.Containers[0].Resources.Requests.Memory().String())
require.Equal(t, statefulsetSpec.Volumes[0].Name, "pega-volume-credentials")
require.Equal(t, statefulsetSpec.Volumes[0].Secret.SecretName, "pega-credentials-secret")
require.Equal(t, statefulsetSpec.Containers[0].VolumeMounts[0].Name, "pega-volume-credentials")
require.Equal(t, statefulsetSpec.Containers[0].VolumeMounts[0].MountPath, "/opt/hazelcast/secrets")
require.Equal(t, statefulsetSpec.Volumes[0].Name, "logs")
require.Equal(t, statefulsetSpec.Volumes[1].Name, "pega-volume-credentials")
require.Equal(t, statefulsetSpec.Volumes[1].Secret.SecretName, "pega-credentials-secret")
require.Equal(t, statefulsetSpec.Containers[0].VolumeMounts[0].Name, "logs")
require.Equal(t, statefulsetSpec.Containers[0].VolumeMounts[0].MountPath, "/opt/hazelcast/logs")
require.Equal(t, statefulsetSpec.Containers[0].VolumeMounts[1].Name, "pega-volume-credentials")
require.Equal(t, statefulsetSpec.Containers[0].VolumeMounts[1].MountPath, "/opt/hazelcast/secrets")
}
}
}

0 comments on commit 416812c

Please sign in to comment.