$lang['tuto'] = "ਟਿ utorial ਟੋਰਿਅਲਸ"; ?>$lang['tuto'] = "ਟਿ utorial ਟੋਰਿਅਲਸ"; ?> ਹਰ ਪਰਤ ਵਿਚ ਬਸੰਤ ਬੂਟ

ਹਰ ਪਰਤ ਵਿਚ ਬਸੰਤ ਬੂਟ ਮੈਟ੍ਰਿਕਸ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਲਈ ਟਰੇਸ ਅਤੇ ਸਪੈਨਡ ਆਈਡੀ ਦੀ ਵਰਤੋਂ ਕਰਨਾ

ਹਰ ਪਰਤ ਵਿਚ ਬਸੰਤ ਬੂਟ ਮੈਟ੍ਰਿਕਸ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਲਈ ਟਰੇਸ ਅਤੇ ਸਪੈਨਡ ਆਈਡੀ ਦੀ ਵਰਤੋਂ ਕਰਨਾ
ਹਰ ਪਰਤ ਵਿਚ ਬਸੰਤ ਬੂਟ ਮੈਟ੍ਰਿਕਸ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਲਈ ਟਰੇਸ ਅਤੇ ਸਪੈਨਡ ਆਈਡੀ ਦੀ ਵਰਤੋਂ ਕਰਨਾ

ਬਹਾਲੀ ਦੀ ਬੂਟ ਵਿਚ ਇਕਸਾਰ ਮੈਟ੍ਰਿਕਸ ਅਤੇ ਟਰੇਸਿੰਗ

ਜਦੋਂ ਡਿਸਟ੍ਰੀਬਯੂਟਡ ਸਿਸਟਮ ਨਾਲ ਕੰਮ ਕਰਨਾ, ਸਾਰੀਆਂ ਪਰਤਾਂ ਦੇ ਪਾਰ ਪਾਲਣਾ ਕਰਨਾ ਮਹੱਤਵਪੂਰਨ ਹੁੰਦਾ ਹੈ. ਬਸੰਤ ਬੂਟ ਵਿੱਚ, ਲੌਗ ਪਹਿਲਾਂ ਹੀ ਟਰੇਸ ਆਈਡੀ ਕੈਪਚਰ ਕਰ ਸਕਦੇ ਹਨ, ਸੇਵਾਵਾਂ ਵਿੱਚ ਬੇਨਤੀਆਂ ਨੂੰ ਟਰੈਕ ਕਰਨਾ ਸੌਖਾ ਹੋ ਸਕਦੇ ਹਨ. ਹਾਲਾਂਕਿ, ਇਨ੍ਹਾਂ ਟਰੇਸ ਅਤੇ ਸਪੈਨਡ ਆਈਡੀ ਨੂੰ ਮੈਟ੍ਰਿਕਸ ਵਿੱਚ ਏਕੀਕ੍ਰਿਤ ਕਰਨਾ ਇੱਕ ਚੁਣੌਤੀ ਰਹਿੰਦਾ ਹੈ. 📊

ਕਲਪਨਾ ਕਰੋ ਕਿ ਤੁਸੀਂ ਪ੍ਰਦਰਸ਼ਨ ਦੇ ਮੁੱਦੇ ਨੂੰ ਡੀਬੱਗ ਕਰ ਰਹੇ ਹੋ, ਅਤੇ ਤੁਸੀਂ ਟਰੇਸ ਆਈਡੀ ਨਾਲ ਲੌਗ ਵੇਖ ਸਕਦੇ ਹੋ ਪਰ ਉਨ੍ਹਾਂ ਨੂੰ ਖਾਸ ਮੀਟ੍ਰਿਕ ਡੇਟਾ ਨਾਲ ਮੇਲ ਨਹੀਂ ਦੇ ਸਕਦੇ. ਇਸ ਸੀਮਾ ਨੂੰ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ed ੰਗ ਨਾਲ ਸਿਸਟਮ ਵਿਵਹਾਰ ਦਾ ਵਿਸ਼ਲੇਸ਼ਣ ਕਰਨਾ ਮੁਸ਼ਕਲ ਬਣਾਉਂਦਾ ਹੈ. ਇਸ ਪਾੜੇ ਨੂੰ ਦੂਰ ਕਰਨ ਲਈ, ਸਾਨੂੰ ਵੱਖੋ ਵੱਖਰੀਆਂ ਪਰਤਾਂ-ਆਰਾਮ ਕਰਨ ਵਾਲੇ ਕੰਟਰੋਲਰ ਅਤੇ ਜੀਪੀਏ ਰਿਪੋਜ਼ਟਰੀਆਂ ਦੇ ਟਰੇਸ ਅਤੇ ਸਪੈਨਡਜ਼ ਦੇ ਨਾਲ ਮੈਟ੍ਰਿਕਸ ਟੈਗ ਦੀ ਜ਼ਰੂਰਤ ਹੈ.

ਪ੍ਰੋਮੈਥੀਅਸ, ਗ੍ਰਾਫਾਨਾ, ਅਤੇ ਜ਼ਿਪਕਿਨ ਨੇ ਸ਼ਕਤੀਸ਼ਾਲੀ ਨਿਗਰਾਨੀ ਅਤੇ ਟਰੇਸਿੰਗ ਸਮਰੱਥਾਵਾਂ ਦੀ ਪੇਸ਼ਕਸ਼ ਕੀਤੀ. ਜਦੋਂ ਕਿ ਲੌਗਸ ਬੇਨਤੀ ਵਿੱਚ ਇਨਸਾਈਟਸ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਨ, ਟਰੇਸ ਪ੍ਰਸੰਗ ਨੂੰ ਮੈਟ੍ਰਿਕਸ ਵਿੱਚ ਜੋੜਦੇ ਹਨ, ਸਾਰੀਆਂ ਪਰਤਾਂ ਵਿੱਚ ਦਰਿਸ਼ਟੀ ਨੂੰ ਵਧਾਉਂਦੇ ਹਨ. ਇਸਦਾ ਅਰਥ ਹੈ ਕਿ ਅਸੀਂ ਖਾਸ ਉਪਭੋਗਤਾ ਬੇਨਤੀਆਂ ਨਾਲ ਲੇਟੈਂਸੀ, ਐਰਰ ਰੇਟ ਅਤੇ ਥਾਈਪੁਟ ਨੂੰ ਜੋੜ ਸਕਦੇ ਹਾਂ.

ਇਸ ਗਾਈਡ ਵਿੱਚ, ਅਸੀਂ ਹਰ ਕਾਰਜ ਪਰਤ ਤੇ ਮੈਟ੍ਰਿਕਸ ਵਿੱਚ ਟਰੇਸ ਅਤੇ ਸਪੈਨਡ ਆਈਡੀ ਨੂੰ ਜੋੜਾਂਗੇ ਕਿ ਕਿਵੇਂ ਰੁੱਤ ਅਤੇ ਸਪੈਨਡ ਆਈਡੀ ਨੂੰ ਜੋੜਾਂਗੇ. ਭਾਵੇਂ ਤੁਸੀਂ ਬਾਕੀ ਦੇ ਅੰਤ ਜਾਂ ਡਾਟਾਬੇਸ ਦੇ ਆਪਸੀ ਤਾਲਮੇਲ ਨਾਲ ਨਜਿੱਠ ਰਹੇ ਹੋ, ਇਹ ਪਹੁੰਚ ਤੁਹਾਨੂੰ ਪੂਰੀ-ਸਟੈਕ ਦੀ ਪਾਲਣਾ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨ ਵਿੱਚ ਸਹਾਇਤਾ ਕਰੇਗੀ. 🚀

ਕਮਾਂਡ ਵਰਤੋਂ ਦੀ ਉਦਾਹਰਣ
OncePerRequestFilter ਇੱਕ ਬਸੰਤ ਬੂਟ ਫਿਲਟਰ ਜੋ ਸੁਨਿਸ਼ਚਿਤ ਕਰਦਾ ਹੈ ਕਿ ਬੇਨਤੀ ਵਿੱਚ ਸਿਰਫ ਇੱਕ ਵਾਰ ਤੁਰੰਤ ਕਾਰਵਾਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਤਾਂ ਇਸ ਨੂੰ ਮੈਟ੍ਰਿਕਸ ਨੂੰ ਟਰੇਸ ਆਈਡੀ ਜੋੜਨ ਲਈ ਲਾਭਦਾਇਕ ਬਣਾਉਂਦਾ ਹੈ.
MeterRegistry.counter() ਮਾਈਕਰੋਮੀਟਰ ਵਿੱਚ ਟਰੇਸ ਆਈਡੀ ਨਾਲ ਮੈਟ੍ਰਿਕਸ ਦੇ ਨਾਲ ਟੈਗਿੰਗ ਨੂੰ ਵੇਖਣ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ, ਮਾਈਕਰੋਮੀਟਰ ਵਿੱਚ ਟਰੇਸ ਆਈਡੀ ਦੇ ਨਾਲ ਮੈਟ੍ਰਿਕਸ ਨੂੰ ਟੈਗਿੰਗ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ.
TraceContextHolder.getTraceId() ਇੱਕ ਕਸਟਮ ਸਹੂਲਤ ਵਿਧੀ, ਜੋ ਕਿ ਮੌਜੂਦਾ ਟਰੇਸ ਆਈਡੀ ਨੂੰ ਟਰੇਸਿੰਗ ਪ੍ਰਸੰਗ ਤੋਂ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ, ਪਰਤਾਂ ਵਿੱਚ ਸਹੀ ਸੰਬੰਧ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ.
StatementInspector ਹਾਈਬਰਨੇਟ ਦਾ ਇੰਟਰਫੇਸ ਜੋ ਕਿ ਡਾਟਾਬੇਸ ਮੈਟ੍ਰਿਕਸ ਲਈ ਉਪਯੋਗੀ ਐਸਕਿ QL ਐਲ ਪ੍ਰਸ਼ਨਾਂ ਦੇ ਸੋਧਣ ਅਤੇ ਨਿਰੀਖਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ.
fetch("http://localhost:9090/api/v1/query") ਫਰੰਟੈਂਡ ਵਿਚ ਰੀਅਲ-ਟਾਈਮ ਟਰੇਸ ਆਈਡੀ-ਅਧਾਰਤ ਮੈਟ੍ਰਿਕਸ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰਨ ਲਈ ਇਸ ਦੇ ਏਪੀਆਈ ਦੁਆਰਾ ਪ੍ਰੋਮੈਥੀਅਸ ਮੈਟ੍ਰਿਕਸ ਡੇਟਾ ਲਿਆਉਂਦਾ ਹੈ.
response.json() ਪ੍ਰੋਮੈਥੀਅਸ ਏਪੀਆਈ ਜਵਾਬ ਨੂੰ ਜੇਐਸਓਐਸ ਫਾਰਮੈਟ ਵਿੱਚ ਪਾਰਸ ਕਰਦਾ ਹੈ, ਜਿਸ ਨਾਲ ਪ੍ਰਤੀਕ੍ਰਿਆ ਵਿੱਚ ਮੈਟ੍ਰਿਕਸ ਨੂੰ ਪ੍ਰਦਰਸ਼ਤ ਕਰਨਾ ਅਤੇ ਪ੍ਰਦਰਸ਼ਤ ਕਰਨਾ ਸੌਖਾ ਹੋ ਜਾਂਦਾ ਹੈ.
meterRegistry.counter().increment() ਸਪਸ਼ਟ ਤੌਰ ਤੇ ਇੱਕ ਖਾਸ ਮੈਟ੍ਰਿਕ ਕਾ counter ਂਟਰ ਨੂੰ ਵਧਾਉਂਦਾ ਹੈ, ਹਰ ਬੇਨਤੀ ਜਾਂ ਡਾਟਾਬੇਸ ਪੁੱਛਗਿੱਛ ਨੂੰ ਟਰੇਸ ਆਈਡੀ ਦੇ ਨਾਲ ਗਿਣਿਆ ਜਾਵੇ.
filterChain.doFilter() ਚੇਨ ਵਿੱਚ ਅਗਲੇ ਫਿਲਟਰ ਤੇ ਬੇਨਤੀ ਅਤੇ ਜਵਾਬ ਨੂੰ ਪਾਸ ਕਰਦਾ ਹੈ, ਮੈਟ੍ਰਿਕਸ ਜੋੜਨ ਤੋਂ ਬਾਅਦ ਆਮ ਬੇਨਤੀ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ.
useEffect(() =>useEffect(() => {}, []) ਇੱਕ ਪ੍ਰਤੀਕ੍ਰਿਆ ਵਾਲਾ ਹੁੱਕ ਜੋ ਕੰਪੋਨੈਂਟ ਮਾ mount ਂਟ ਤੇ ਇੱਕ ਵਾਰ ਚਲਦਾ ਹੈ, ਜਦੋਂ ਇੱਥੇ ਡੈਸ਼ਬੋਰਡ ਲੋਡ ਹੁੰਦਾ ਹੈ ਤਾਂ ਪ੍ਰੋਮੀਥੀਅਸ ਮੈਟ੍ਰਿਕਸ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਇੱਥੇ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ.

ਮੈਟ੍ਰਿਕਸ ਵਿੱਚ ਟਰੇਸ ਆਈਡੀ ਨਾਲ ਨਿਗਰਾਨੀ ਵਧਾਉਣਾ

ਆਧੁਨਿਕ ਡਿਸਟ੍ਰੀਬਯੂਟੇਡ ਪ੍ਰਣਾਲੀਆਂ ਵਿੱਚ, ਸੰਬੰਧਾਂ ਅਤੇ ਮੈਟ੍ਰਿਕਸ ਡੀਬੱਗਿੰਗ ਅਤੇ ਪ੍ਰਦਰਸ਼ਨ ਨਿਗਰਾਨੀ ਲਈ ਮਹੱਤਵਪੂਰਨ ਹਨ. ਸਕ੍ਰਿਪਟਾਂ ਅਸੀਂ ਮਦਦ ਏਕੀਕ੍ਰਿਤ ਕੀਤੀ ਟਰੇਸ ਆਈਡੀ ਅਤੇ ਸਪੈਨਡ ਆਈਡੀ ਬਸੰਤ ਬੂਟ ਦੇ ਨਿਰੀਖਣ ਸਟੈਕ ਵਿੱਚ. ਪਹਿਲੀ ਸਕ੍ਰਿਪਟ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇੱਕ ਕਸਟਮ ਫਿਲਟਰ ਪੇਸ਼ ਕੀਤੀ ਇਕਲੌਤੀ ਮਾਈਕਰੋਮੀਟਰ ਮੈਟ੍ਰਿਕਸ ਨੂੰ ਆਉਣ ਵਾਲੇ HTTP ਬੇਨਤੀਆਂ ਨੂੰ ਰੋਕਣਾ ਅਤੇ ਟਰੇਸ ਆਈਡੀ ਨੂੰ ਨੱਥੀ ਕਰਨ ਲਈ. ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰਦਾ ਹੈ ਕਿ ਹਰੇਕ HTTP ਬੇਨਤੀ ਨੂੰ ਗਿਣਿਆ ਜਾਂਦਾ ਹੈ ਅਤੇ ਇਸਦੇ ਸੰਬੰਧਤ ਟਰੇਸ ਆਈਡੀ ਨਾਲ ਲੇਬਲ ਕੀਤਾ ਜਾਂਦਾ ਹੈ. ਇਸ ਤੋਂ ਬਿਨਾਂ, ਕਈ ਸੇਵਾਵਾਂ ਤੇ ਇੱਕ ਵਿਅਕਤੀਗਤ ਬੇਨਤੀ ਦਾ ਟਰੇਸ ਕਰਨਾ ਚੁਣੌਤੀ ਭਰਿਆ ਹੋਣਾ ਚੁਣਨਾ ਚੁਣਨਾ ਚਾਹੀਦਾ ਹੈ. ਜਦੋਂ ਕੋਈ ਮੁੱਦਾ ਇਹ ਜਾਣ ਕੇ ਹੀ ਸਮੱਸਿਆ ਨਿਪਟਾਰਾ ਕਰਨ ਦੀ ਕਲਪਨਾ ਕਰਦਾ ਹੈ ਤਾਂ ਇਹ ਜਾਣਿਆ ਜਾਂਦਾ ਹੈ ਕਿ ਕੀ ਇਹ ਮੁੱਦਾ ਕੰਟਰੋਲਰ, ਸੇਵਾ ਜਾਂ ਡਾਟਾਬੇਸ ਪਰਤ ਵਿੱਚ ਹੈ! 🚀

ਸਾਡੀ ਦੂਜੀ ਸਕ੍ਰਿਪਟ ਨੂੰ ਲਾਭ ਪਹੁੰਚਾਉਣ ਦੁਆਰਾ ਦ੍ਰਿੜਤਾ ਵਾਲੀ ਪਰਤ ਤੇ ਧਿਆਨ ਕੇਂਦ੍ਰਤ ਕਰਦਾ ਹੈ ਹਾਈਬਰਨੇਟ ਦੇ ਪੱਕੇ ਵੇਰਵੇ. ਇਹ ਭਾਗ ਕਾਰਜਾਂ ਤੋਂ ਪਹਿਲਾਂ SQL ਪ੍ਰਸ਼ਨਾਂ ਦਾ ਮੁਆਇਨਾ ਕਰਦਾ ਹੈ, ਜੋ ਕਿ ਡਾਟਾਬੇਸ ਦੇ ਗੱਲਬਾਤ ਲਈ ਟਰੇਸ ਆਈਡੀ ਨੂੰ ਜੋੜਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ. ਇਸਦਾ ਅਰਥ ਹੈ ਕਿ ਅਸੀਂ ਨਾ ਸਿਰਫ HTTP ਬੇਨਤੀਆਂ ਨੂੰ ਹੀ ਨਹੀਂ ਬਲਕਿ ਉਹ ਵੀ ਉਨ੍ਹਾਂ ਪ੍ਰਸ਼ਨਾਂ ਨੂੰ ਤਿਆਰ ਕਰ ਸਕਦੇ ਹਾਂ, ਸਿਸਟਮ ਦੀ ਕਾਰਗੁਜ਼ਾਰੀ ਦਾ ਪੂਰਾ ਸਟੈਕ ਨਜ਼ਰੀਆ ਦਿੰਦੇ ਹਨ. ਉਦਾਹਰਣ ਦੇ ਲਈ, ਜੇ ਇੱਕ ਅੰਤਮ ਬਿੰਦੂ ਇੱਕ ਰਿਪੋਜ਼ਟਰੀ ਵਿਧੀ ਨੂੰ ਬੁਲਾਉਂਦਾ ਹੈ ਤਾਂ ਹੌਲੀ ਪ੍ਰਸ਼ਨਾਂ ਵਿੱਚ ਨਤੀਜੇ ਵਜੋਂ, ਸਾਡੀ ਟੈਗ ਕੀਤੇ ਮੈਟ੍ਰਿਕਸ ਰੂਟ ਕਾਰਨਾਂ ਦੀ ਪਛਾਣ ਵਿੱਚ ਸਹਾਇਤਾ ਕਰ ਸਕਦੇ ਹਨ. ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਮੀਟਰ ਸਟਰੇਡ.ਕੌਂਟਰ (), ਅਸੀਂ ਹਰ ਵਾਰ ਇੱਕ ਹਵਾਲਾ ਵਧਾਉਂਦੇ ਹਾਂ ਹਰ ਵਾਰ ਇੱਕ ਪੁੱਛਗਿੱਛ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਤਾਂ ਡਾਟਾਬੇਸ ਕਾਰਗੁਜ਼ਾਰੀ ਵਿੱਚ ਪੂਰੀ ਨਜ਼ਰਬੰਦ.

ਫਰੰਟ-ਐਂਡ ਵਾਲੇ ਪਾਸੇ, ਅਸੀਂ ਇੱਕ ਸਧਾਰਣ ਪ੍ਰਤੀਕ੍ਰਿਆ ਡੈਸ਼ਬੋਰਡ ਬਣਾਇਆ ਜੋ ਟਰੇਸ ਆਈਡੀਜ਼ ਨਾਲ ਟੈਗ ਕੀਤੇ ਹੋਏ ਪ੍ਰੋਮੈਟੇਸ ਮੈਟ੍ਰਿਕਸ ਨਾਲ ਟੈਗ ਕੀਤੇ ਹੋਏ ਹਨ. ਦੀ ਵਰਤੋਂ ਪ੍ਰਾਪਤ ਕਰੋ () ਸਾਡੀ ਅਰਜ਼ੀ ਨੂੰ ਰੀਅਲਥਯੂਸ ਤੋਂ ਰੀਅਲ ਟਾਈਮਜ਼ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ. ਜਦੋਂ ਉਪਭੋਗਤਾ ਡੈਸ਼ਬੋਰਡ ਨੂੰ ਖੋਲ੍ਹਦਾ ਹੈ, ਤਾਂ ਉਹ ਪ੍ਰਤੀ ਟਰੇਸ ਆਈਡੀ ਬਣੇ ਬੇਨਤੀਆਂ ਦੀ ਗਿਣਤੀ ਵੇਖਦੇ ਹਨ, ਟੀਮਾਂ ਨੂੰ ਉਪਭੋਗਤਾ ਦੇ ਵਿਵਹਾਰ ਨਾਲ ਬੈਕਐਂਡ ਦੀ ਗਤੀਵਿਧੀ ਨੂੰ ਸਹੀ ਕਰਦੇ ਹਨ. ਇੱਕ ਡਿਵੈਲਪਰ ਇੱਕ ਖਾਸ ਬੇਨਤੀ ਨੂੰ ਡੀਬਬੱਗਿੰਗ ਤੇਜ਼ੀ ਨਾਲ ਇਸਦੇ ਟਰੇਸ ਆਈਡੀ ਨੂੰ ਵੇਖ ਸਕਦਾ ਹੈ ਅਤੇ ਇਹ ਵੇਖਦਾ ਹੈ ਕਿ ਇਹ ਕਿੰਨੀ ਪੁੱਛਗਿੱਛ ਕੀਤੀ ਗਈ ਹੈ. ਇਹ ਪਹੁੰਚ ਨਿਗਰਾਨੀ ਵਿੱਚ ਸੁਧਾਰ ਕਰਦਾ ਹੈ ਅਤੇ ਡੀਬੱਗਿੰਗ ਸੈਸ਼ਨ ਨੂੰ ਵਧੇਰੇ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਬਣਾਉਂਦਾ ਹੈ. 📊

ਅਖੀਰ ਵਿੱਚ, ਇਹ ਹੱਲ ਸਾਰੇ ਕਾਰਜ ਲੇਅਰਸ ਵਿੱਚ ਇੱਕ ਸਹਿਜ ਟਰੇਸਿੰਗ ਤਜਰਬਾ ਬਣਾਉਣ ਲਈ ਮਿਲ ਕੇ ਕੰਮ ਕਰਦੇ ਹਨ. ਪ੍ਰੋਮਟੀਅਸ, ਗ੍ਰਾਫਾਨਾ, ਅਤੇ ਜ਼ੈਪਕਿਨ ਨਾਲ ਬਸੰਤ ਬੂਟ ਬੂਟ ਉਪਕਰਣ ਸੰਦਾਂ ਨੂੰ ਜੋੜ ਕੇ, ਅਸੀਂ ਪੂਰੀ ਤਰ੍ਹਾਂ ਸਟੈਕ ਨਿਗਰਾਨੀ ਪ੍ਰਾਪਤ ਕਰਦੇ ਹਾਂ. ਡਿਵੈਲਪਰ ਹੁਣ ਐਂਟਰੀ ਬਿੰਦੂਆਂ ਤੋਂ ਆਸਾਨੀ ਨਾਲ ਡਾਟਾਬੇਸ ਪ੍ਰਸ਼ਨਾਂ ਤੱਕ ਬੇਨਤੀਆਂ ਨੂੰ ਟਰੈਕ ਕਰ ਸਕਦੇ ਹਨ. ਇਹ ਨਾ ਸਿਰਫ ਸਿਸਟਮ ਦੀ ਭਰੋਸੇਯੋਗਤਾ ਵਿੱਚ ਸੁਧਾਰ ਕਰਦਾ ਹੈ ਬਲਕਿ ਡੀਬੱਗਿੰਗ ਟਾਈਮ ਨੂੰ ਵੀ ਘਟਾਉਂਦਾ ਹੈ. ਇੱਕ ਅਸਲ-ਸੰਸਾਰ ਦੇ ਦ੍ਰਿਸ਼ ਵਿੱਚ, ਇਹ ਪ੍ਰਦਰਸ਼ਨ ਦੀਆਂ ਮੁਟਾਂਖਿਆਂ ਨੂੰ ਖੋਜਣ ਅਤੇ ਮੁੱਦਿਆਂ ਨੂੰ ਵਧਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਸਰੋਤ ਅਲਾਟਮੈਂਟ ਨੂੰ ਅਨੁਕੂਲ ਬਣਾਉਣ ਵਿੱਚ ਸਹਾਇਤਾ ਕਰੇਗਾ. ਅਜਿਹੇ ਵਿਚਾਰਾਂ ਨੂੰ ਲਾਗੂ ਕਰਨਾ ਸਭ ਤੋਂ ਵਧੀਆ ਅਭਿਆਸਾਂ ਨੂੰ ਬਿਹਤਰ ਪ੍ਰਦਰਸ਼ਨ, ਤੇਜ਼ੀ ਨਾਲ ਨਿਪਟਾਰਾ, ਅਤੇ ਵਧੇਰੀ ਉਪਭੋਗਤਾ ਅਨੁਭਵ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਂਦਾ ਹੈ. 🚀

ਪੂਰੀ ਮਿਹਨਤਯੋਗਤਾ ਲਈ ਮੈਟ੍ਰਿਕਸ ਵਿੱਚ ਟਰੇਸ ਆਈਡੀ ਨੂੰ ਲਾਗੂ ਕਰਨਾ

ਮਾਈਕ੍ਰੋਮੀਟਰ ਅਤੇ ਡੇਲ ਨਾਲ ਬਸੰਤ ਬੂਟ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਬੈਕ-ਐਂਡ ਦਾ ਹੱਲ

// Import necessary packages
import io.micrometer.core.instrument.MeterRegistry;
import org.springframework.stereotype.Component;
import org.springframework.web.filter.OncePerRequestFilter;
import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Optional;
@Component
public class TraceIdMetricFilter extends OncePerRequestFilter {
    private final MeterRegistry meterRegistry;
    public TraceIdMetricFilter(MeterRegistry meterRegistry) {
        this.meterRegistry = meterRegistry;
    }
    @Override
    protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain)
            throws ServletException, IOException {
        String traceId = Optional.ofNullable(request.getHeader("traceId")).orElse("unknown");
        meterRegistry.counter("http.requests", "traceId", traceId).increment();
        filterChain.doFilter(request, response);
    }
}

JPA ਨਾਲ ਡਾਟਾਬੇਸ ਮੈਟ੍ਰਿਕਸ ਵਿੱਚ ਡੈਟਾਬੇਸ ਮੈਟ੍ਰਿਕਸ ਵਿੱਚ ਟਰੇਸ ਆਈ ਡੀ

ਬੈਕ-ਐਂਡ ਦਾ ਹੱਲ ਹਾਈਬਰਨੇਟ ਅਤੇ ਮਾਈਕਰੋਮੀਟਰ ਨਾਲ ਵਰਤਣਾ

// Import necessary packages
import io.micrometer.core.instrument.MeterRegistry;
import org.hibernate.resource.jdbc.spi.StatementInspector;
import org.springframework.stereotype.Component;
@Component
public class TraceIdStatementInspector implements StatementInspector {
    private final MeterRegistry meterRegistry;
    public TraceIdStatementInspector(MeterRegistry meterRegistry) {
        this.meterRegistry = meterRegistry;
    }
    @Override
    public String inspect(String sql) {
        String traceId = TraceContextHolder.getTraceId(); // Assume TraceContextHolder gets the traceId
        meterRegistry.counter("database.queries", "traceId", traceId).increment();
        return sql;
    }
}

ਫਰੰਟੈਂਡ ਏਕੀਕਰਣ: ਟਰੇਸ ਆਈਡੀ ਮੈਟ੍ਰਿਕਸ ਪ੍ਰਦਰਸ਼ਤ ਕਰਨਾ

ਰੀਐਕਟਿਵ ਅਤੇ ਪ੍ਰੋਮੈਥੀਅਸ ਏਪੀਆਈ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਫਰੰਟ-ਐਂਡ ਲਾਗੂਕਰਣ

import React, { useEffect, useState } from "react";
const MetricsDashboard = () => {
  const [metrics, setMetrics] = useState([]);
  useEffect(() => {
    fetch("http://localhost:9090/api/v1/query?query=http_requests_total")
      .then(response => response.json())
      .then(data => setMetrics(data.data.result));
  }, []);
  return (
    <div>
      <h2>Trace ID Metrics</h2>
      <ul>
        {metrics.map((metric, index) => (
          <li key={index}>{metric.metric.traceId}: {metric.value[1]} requests</li>
        ))}
      </ul>
    </div>
  );
};
export default MetricsDashboard;

ਬਸੰਤ ਬੂਟ ਮੈਟ੍ਰਿਕਸ ਵਿੱਚ ਐਡਵਾਂਸਡ ਟਰੇਸੀਬਿਲਟੀ

ਜਦੋਂ ਕਿ ਅਸੀਂ ਏਕੀਕ੍ਰਿਤ ਪੜਤਾਲ ਕੀਤੀ ਹੈ ਟਰੇਸ ਆਈਡੀ ਰੈਸਟ ਐਂਡ ਡੇਟਾਬੇਸ ਮੈਟ੍ਰਿਕਸ ਵਿੱਚ, ਇਕ ਹੋਰ ਅਹਿਮ ਬਹਾਨਾ ਵੰਡਿਆ ਜਾਂਦਾ ਲੈਣ-ਦੇਣ ਦੀ ਨਿਗਰਾਨੀ ਕਰ ਰਿਹਾ ਹੈ. ਮਾਈਕ੍ਰੋਜ਼ਰਵਿਡਿਸ ਆਰਕੀਟੈਕਚਰ ਵਿੱਚ, ਇੱਕ ਸਿੰਗਲ ਉਪਭੋਗਤਾ ਬੇਨਤੀ ਅਕਸਰ ਕਈਂ ਸੇਵਾਵਾਂ ਦਿੰਦਾ ਹੈ, ਇੱਕ ਬੇਨਤੀ ਕਿਵੇਂ ਪ੍ਰਸਾਰ ਕਰਦਾ ਹੈ. ਬਸੰਤ ਬੂਟ, ਜਦੋਂ ਓਪਨਲੇਮੈਟਰੀ ਵਰਗੇ ਸੰਦਾਂ ਨਾਲ ਜੋੜਿਆ ਜਾਂਦਾ ਹੈ, ਸਾਨੂੰ ਹਰੇਕ ਸੇਵਾ ਦੇ ਆਪਸੀ ਆਪਸੀ ਤ੍ਰਿਸਤ ਲਈ ਵਿਸਤਾਰ ਵਿੱਚ ਸਪੈਨਸ ਨੂੰ ਹਾਸਲ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ. ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰਦਾ ਹੈ ਕਿ ਫਰੰਟੈਂਡ ਯੂਆਈ ਤੋਂ ਬੈਕਐਂਡ ਏਪੀਆਈਐਸ ਅਤੇ ਡੇਟਾਬੇਸ ਤੱਕ ਦੀਆਂ ਬੇਨਤੀਆਂ ਸਾਰੇ ਇੱਕ ਟਰੇਸ ਦੇ ਹੇਠਾਂ ਮੇਲ ਖਾਂਦੀਆਂ ਹਨ. ਇਸ ਤੋਂ ਬਿਨਾਂ, ਡੀਬੱਗਿੰਗ ਪ੍ਰਦਰਸ਼ਨ ਪ੍ਰਦਰਸ਼ਨ ਦੀ ਬੋਤਲਨੇਕ ਕਾਫ਼ੀ hard ਖਾ ਹੋ ਜਾਂਦੇ ਹਨ. 🔍

ਇਕ ਹੋਰ ਮਹੱਤਵਪੂਰਣ ਪਹਿਲੂ ਅਸਿੰਕਰੋਨਸ ਓਪਰੇਸ਼ਨਸ ਲਈ ਟਰੇਸਿਟੀ ਲਾਗੂ ਕਰ ਰਿਹਾ ਹੈ. ਮਾਡਰਨ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਿੱਚ, ਬੈਕਗ੍ਰਾਉਂਡ ਵਿੱਚ ਚੱਲਦੇ ਬਹੁਤ ਸਾਰੀਆਂ ਪ੍ਰਕਿਰਿਆਵਾਂ, ਜਿਵੇਂ ਕਿ ਕਾਫਕਾ ਜਾਂ ਰੈਜਿਟਮਕ ਜਾਂ ਰੈਬਿਟਮਕ. ਟਰੇਸ ਦੀਆਂ ਕਤਾਰਾਂ ਵਿੱਚ ਟਰੇਸ ਆਈਡੀਆਈਐਕਸ ਨੂੰ ਫੈਲਾਉਣ ਲਈ ਸਪਰਿੰਗ ਬੂਟ ਦੀ ਸੰਰਚਨਾ ਕਰਕੇ, ਅਸੀਂ ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰ ਸਕਦੇ ਹਾਂ ਕਿ ਅਸੰਖਰਿਸ਼ ਕਾਰਜ ਸਹੀ ਤਰ੍ਹਾਂ ਲੱਭੇ ਜਾਂਦੇ ਹਨ. ਉਦਾਹਰਣ ਦੇ ਲਈ, ਜਦੋਂ ਈ-ਕਾਮਰਸ ਸਿਸਟਮ ਵਿੱਚ ਆਰਡਰ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ, ਮਲਟੀਪਲ ਸੇਵਾਵਾਂ ਹੈਂਡਲ ਇਨਵੈਂਟਰੀ, ਭੁਗਤਾਨ ਅਤੇ ਸੂਚਨਾਵਾਂ. ਜੇ ਕੋਈ ਮੁੱਦਾ ਇਨ੍ਹਾਂ ਵਿੱਚੋਂ ਕਿਸੇ ਇੱਕ ਕਦਮਾਂ ਵਿੱਚ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਜੋ ਟਰੇਸ ਕਰਨਾ ਸਹੀ ਕਾਲ ਦੇ ਪ੍ਰਸਾਰ ਤੋਂ ਬਿਨਾਂ ਲਗਭਗ ਅਸੰਭਵ ਹੋਵੇਗਾ.

ਟਰੇਸਿੰਗ ਨੂੰ ਲਾਗੂ ਕਰਨ ਵੇਲੇ ਸੁਰੱਖਿਆ ਅਤੇ ਡਾਟਾ ਅਖੰਡਤਾ ਵੀ ਕੁੰਜੀ ਹਨ. ਟਰੇਸ ਆਈਡੀ ਦਾ ਬਾਹਰੀ ਪੱਧਰ ਦਾ ਪਰਦਾਫਾਸ਼ ਕਰਨਾ ਸੁਰੱਖਿਆ ਦੇ ਜੋਖਮਾਂ ਦਾ ਕਾਰਨ ਬਣ ਸਕਦਾ ਹੈ ਜੇ ਸਹੀ ਤਰ੍ਹਾਂ ਨਹੀਂ ਸੰਭਾਲਿਆ ਜਾਂਦਾ. ਵਧੀਆ ਅਭਿਆਸਾਂ ਵਿੱਚ ਫਿਲਟਰਿੰਗ ਸੰਵੇਦਨਸ਼ੀਲ ਟਰੇਸ ਜਾਣਕਾਰੀ ਸ਼ਾਮਲ ਹੁੰਦੀ ਹੈ ਅਤੇ ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰੋ ਕਿ ਲੌਗਸ ਅਤੇ ਮੈਟ੍ਰਿਕਸ ਅਣਜਾਣੇ ਵਿੱਚ ਨਿੱਜੀ ਡੇਟਾ ਨੂੰ ਬੇਨਕਾਬ ਨਹੀਂ ਕਰਦੇ. ਇਸ ਤੋਂ ਇਲਾਵਾ, ਰੋਲ-ਬੇਸਡ ਐਕਸੈਸ ਕੰਟਰੋਲ ਨਾਲ ਟਰੇਸਿਬਿਲਿਟੀ ਨੂੰ ਜੋੜਦਾ ਹੈ ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰਦਾ ਹੈ ਕਿ ਸਿਰਫ ਅਧਿਕਾਰਤ ਕਰਮਚਾਰੀ ਟਰੇਸਿੰਗ ਜਾਣਕਾਰੀ ਦੀ ਪੁੱਛਗਿੱਛ ਕਰ ਸਕਦੇ ਹਨ. ਇਨ੍ਹਾਂ ਸੁਰੱਖਿਆ ਦੇ ਉਪਾਅ ਨੂੰ ਲਾਗੂ ਕਰਨਾ ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰਦਾ ਹੈ ਕਿ ਮਨਾਏ ਉਪਤਾ ਇਕ ਜ਼ਿੰਮੇਵਾਰੀ ਦੀ ਬਜਾਏ ਸੰਪਤੀ ਹੈ. 🚀

ਬਸੰਤ ਬੂਟ ਟਰੇਬਿਲਟੀ ਬਾਰੇ ਅਕਸਰ ਪੁੱਛੇ ਜਾਂਦੇ ਪ੍ਰਸ਼ਨ

  1. ਮੈਂ ਇੱਕ ਬਸੰਤ ਬੂਟ ਐਪਲੀਕੇਸ਼ਨ ਵਿੱਚ ਟਰੇਸਿੰਗ ਨੂੰ ਕਿਵੇਂ ਸਮਰੱਥ ਕਰਾਂ?
  2. ਬਸੰਤ ਬੂਟ ਟਰੇਸਿੰਗ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ Spring Cloud Sleuth ਅਤੇ Micrometer. ਲੋੜੀਂਦੀ ਨਿਰਭਰਤਾ ਨੂੰ ਜੋੜ ਕੇ ਅਤੇ ਟਰੇਸਿੰਗ ਦੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਸੰਰਚਨਾ ਕਰਕੇ, ਤੁਸੀਂ ਟਰੇਸ ਅਤੇ ਸਪੈਨ ਆਈਡੀ ਆਪਣੇ ਆਪ ਕੈਪਚਰ ਕਰ ਸਕਦੇ ਹੋ.
  3. ਕੀ ਮੈਂ ਕਈ ਮਾਈਕਰੋਸਾਈਜ਼ਰਸ ਦੇ ਪਾਰ ਟਰੇਸ ਆਈਡੀ ਨੂੰ ਟਰੈਕ ਕਰ ਸਕਦਾ ਹਾਂ?
  4. ਹਾਂ, ਵਰਤ ਕੇ Zipkin ਜਾਂ Jaeger ਡਿਸਟ੍ਰੀਬਯੂਟਿਡ ਟਰੇਸਿੰਗ ਲਾਇਬ੍ਰੇਰੀਆਂ ਦੇ ਨਾਲ, ਟਰੇਸ ਆਈਡੀ ਨੂੰ ਕਈ ਸੇਵਾਵਾਂ ਦੇ ਪਾਰ ਦਾ ਪ੍ਰਚਾਰ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ, ਜਿਸ ਨਾਲ ਬੇਨਤੀ ਵਿੱਚ ਪੂਰੀ ਦਿੱਖ ਦੀ ਪੂਰੀ ਵਿਜ਼ੂਅਲ ਹੁੰਦੀ ਹੈ.
  5. ਮੈਂ ਕਾਫਕਾ ਸੰਦੇਸ਼ਾਂ ਨੂੰ ਟਰੇਸ ਆਈਡੀ ਨੂੰ ਕਿਵੇਂ ਜੋੜ ਸਕਦਾ ਹਾਂ?
  6. ਤੁਸੀਂ ਯੂਜਰ ਦੇ ਸਿਰਲੇਖਾਂ ਵਿੱਚ ਟਰੇਸ ਆਈਡੀ ਸ਼ਾਮਲ ਕਰ ਸਕਦੇ ਹੋ KafkaTemplate.send(). ਜਦੋਂ ਸੁਨੇਹੇ ਲੈਂਦੇ ਹੋ, ਟਰੇਸ ਆਈਡੀ ਕੱ ract ੋ ਅਤੇ ਇਸ ਨੂੰ ਟਰੇਸਿੰਗ ਪ੍ਰਸੰਗ ਵਿੱਚ ਸੈਟ ਕਰੋ.
  7. ਕੀ ਗ੍ਰਾਫਾਨਾ ਡੈਸ਼ਬੋਰਡਾਂ ਵਿੱਚ ਟਰੇਸ ਆਈਡੀ ਨੂੰ ਵੇਖਣਾ ਸੰਭਵ ਹੈ?
  8. ਹਾਂ, ਨਾਲ ਪ੍ਰੋਮਟੀਅਸ ਅਤੇ ਗ੍ਰਾਫਿਕ ਨੂੰ ਕੌਂਫਿਗਰ ਕਰਕੇ Micrometer tags, ਤੁਸੀਂ ਆਪਣੇ ਗ੍ਰਾਫੀਨਾ ਪੈਨਲਾਂ ਵਿੱਚ ਸਿੱਧੇ ਟਰੇਸ ਨਾਲ ਸਬੰਧਤ ਮੈਟ੍ਰਿਕਸ ਨੂੰ ਸਿੱਧਾ ਵੇਖ ਸਕਦੇ ਹੋ.
  9. ਮੈਂ ਟਰੇਸ ਆਈਡੀ ਸੁਰੱਖਿਆ ਨੂੰ ਕਿਵੇਂ ਯਕੀਨੀ ਬਣਾ ਸਕਦਾ ਹਾਂ?
  10. ਟਰੇਸ ਜਾਣਕਾਰੀ ਦੀ ਰੱਖਿਆ ਕਰਨ ਲਈ, ਬਾਹਰੀ ਏਪੀਆਈ ਅਤੇ ਲੌਗਸ ਵਿੱਚ ਟਰੇਸ ਆਈਡੀ ਦਾ ਪਰਹੇਜ਼ ਕਰੋ. ਵਰਤਣ log sanitization ਲੌਗਸ ਨੂੰ ਸਟੋਰ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਸੰਵੇਦਨਸ਼ੀਲ ਡੇਟਾ ਨੂੰ ਫਿਲਟਰ ਕਰਨ ਲਈ ਤਕਨੀਕਾਂ.

ਬਸੰਤ ਬੂਟ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਿੱਚ ਧਾਰਣਾ ਦਾ ਅਨੁਕੂਲ ਬਣਾਉਣਾ

ਸਾਰੀਆਂ ਪਰਤਾਂ ਵਿੱਚ ਟਰੇਸ ਆਈਡੀ ਲਾਗੂ ਕਰਨਾ ਐਪਲੀਕੇਸ਼ਨ ਵਿਵਹਾਰ ਵਿੱਚ ਡੂੰਘੀਆਂ ਸੂਝ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ. ਟਰੇਸ ਅਤੇ ਸਪੈਨਡ ਆਈਡੀਐਸ ਨਾਲ ਸਾਰਕ੍ਰਿਕਸ ਨੂੰ ਟੈਗਿੰਗ ਕਰਦਿਆਂ, ਡਿਵੈਲਪਰ ਹੌਲੀ ਬੇਨਤੀਆਂ ਜਾਂ ਅਸਫਲ ਸੇਵਾਵਾਂ ਦੀ ਜਾਂਚ ਕਰਨ ਵਿੱਚ ਅਸਾਨ ਬਣਾਉਂਦੇ ਹਨ. ਪ੍ਰੋਮੈਥੀਅਸ ਅਤੇ ਗ੍ਰਾਫਿਕ ਨੂੰ ਅੱਗੇ ਦੀ ਵਰਤੋਂ ਕਰਦਿਆਂ ਰੀਅਲ-ਟਾਈਮ ਨਿਗਰਾਨੀ ਨੂੰ ਵਧਾਉਂਦਾ ਹੈ.

ਡੀਬੱਗਿੰਗ ਤੋਂ ਪਰੇ ਟਰੇਸਿੰਗ ਕਾਰਗੁਜ਼ਾਰੀ ਦੇ ਅਨੁਕੂਲਣ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਵਿੱਚ ਸਹਾਇਤਾ ਕਰਦਾ ਹੈ. ਅਯੋਗ ਡੇਟਾਬੇਸ ਪ੍ਰਸ਼ਨਾਂ ਦੀ ਪਛਾਣ ਕਰਨਾ, ਮਾਈਕਰੋਸਿਸ ਦੇਰੀ ਨੂੰ ਟਰੈਕ ਕਰਨਾ, ਅਤੇ ਬੇਨਤੀ ਦੇ ਪ੍ਰਵਾਹਾਂ ਦਾ ਵਿਸ਼ਲੇਸ਼ਣ ਕਰਨਾ ਸੌਖਾ ਹੁੰਦਾ ਹੈ. ਟ੍ਰੈਕਿੰਗ ਤਕਨੀਕਾਂ ਵਿੱਚ ਨਿਵੇਸ਼ ਕਰਨਾ ਨਾ ਸਿਰਫ ਬਿਹਤਰ ਸਮੱਸਿਆ ਨਿਪਟਾਰਾ ਕਰਦਾ ਹੈ ਬਲਕਿ ਇੱਕ ਨਿਰਵਿਘਨ ਉਪਭੋਗਤਾ ਅਨੁਭਵ ਵੀ. 🔍

ਸਤਰਾਂ ਅਤੇ ਮੈਟ੍ਰਿਕਸ ਵਿੱਚ ਟਰੇਸ ਆਈਡੀ ਲਾਗੂ ਕਰਨ ਲਈ ਸਰੋਤ ਅਤੇ ਹਵਾਲੇ
  1. ਮਾਈਕ੍ਰੋਮੀਟਰ ਅਤੇ ਡੇਲਥ ਨਾਲ ਬਸੰਤ ਦੀ ਬੂਟ ਵਿੱਚ ਟਰੇਸਿੰਗ ਕਰਨ ਦੇ ਅਧਿਕਾਰਤ ਦਸਤਾਵੇਜ਼: ਬਸੰਤ ਦੇ ਬੱਦਲ ਦੀ ਡਲੀਥ .
  2. ਸਪਰਿੰਗਲ ਬੂਟ ਐਪਲੀਕੇਸ਼ਨਾਂ ਦੀ ਨਿਗਰਾਨੀ ਲਈ ਪ੍ਰੋਮੈਥੀਅਸ ਅਤੇ ਗ੍ਰਾਫਾਨਾ ਸਥਾਪਤ ਕਰਨ 'ਤੇ ਗਾਈਡ: ਪ੍ਰੋਮਥੀਅਸ ਦਸਤਾਵੇਜ਼ .
  3. ਜ਼ਿਪਕਿਨ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਵੰਡਿਆ ਟਰੇਸਿੰਗ ਲਈ ਸਭ ਤੋਂ ਵਧੀਆ ਅਭਿਆਸ: ਜ਼ਿਪਕਿਨ ਆਰਕੀਟੈਕਚਰ .
  4. ਹਾਈਬਰਨੇਟ ਪ੍ਰਸ਼ਨਾਂ ਵਿੱਚ ਟਰੇਸ ਅਤੇ ਸਪੈਨ ਆਈਡੀ ਪ੍ਰੋਪ੍ਰੇਸ਼ਨ ਨੂੰ ਲਾਗੂ ਕਰਨਾ: ਹਾਈਬਰਨੇਟ ਯੂਜ਼ਰ ਗਾਈਡ .