Setting alerts as service labels is great but, as you probably noticed, a bit cumbersome. Alert conditions can get pretty long and repetitive. I, for one, got tired of writing the same statement over and over again. So, I created shortcuts that accomplish the same functionality. Let's see them in action.
The modified version of the go-demo stack definition is as follows (restricted to relevant parts).
version: '3' services: main: ... deploy: ... labels: - com.df.alertIf=@service_mem_limit:0.8 ...
We simplified the definition by replacing the expression that follows with com.df.alertIf=@service_mem_limit:0.8.
com.df.alertIf=container_memory_usage_bytes{container_label_com_\
docker_swarm_service_name="go-demo_main"}/container_spec_memory_limit_\
bytes{container_label_com_docker_swarm_service_name...