কম্পিউটার টিউটোরিয়াল

আপনার রুবি অ্যাপের জন্য AppSignal-এ কাস্টম মেট্রিক্স ও সতর্কতা মাস্টার করুন

বেশিরভাগ সময়, AppSignal দ্বারা প্রদত্ত ডিফল্ট অ্যাপ্লিকেশন মনিটরিং মেট্রিক্স, গ্রাফ এবং ভিজ্যুয়ালাইজেশন আপনার রুবি অ্যাপের জন্য করবে। যাইহোক, আপনি এমন একজন ব্যবহারকারী হতে পারেন যিনি কি পরিমাপ করা হয়, এটি কীভাবে প্রদর্শিত হয় এবং আপনার অ্যাপ সম্পর্কে কীভাবে গুরুত্বপূর্ণ তথ্য রিলে করা উচিত তার উপর কিছুটা নিয়ন্ত্রণ পছন্দ করেন৷

AppSignal আপনাকে আপনার ইচ্ছামতো অ্যাপ মেট্রিক্স এবং ড্যাশবোর্ড কাস্টমাইজ করতে দেয়। এই নির্দেশিকায়, আমরা AppSignal-এর কাস্টম মেট্রিক্স সম্পর্কে সমস্ত কিছু শিখব, যার মধ্যে রয়েছে:

  • কাস্টম মেট্রিক্স কি
  • বিভিন্ন ধরনের কাস্টম মেট্রিক্স আপনি সেট আপ করতে পারেন
  • কীভাবে গ্রাফ ভিজ্যুয়ালাইজেশন কাস্টমাইজ করবেন
  • কীভাবে কার্যকর সতর্কতা সেট আপ করবেন

এবং আরো!

কিন্তু আমরা ডুব দেওয়ার আগে, আপনাকে অনুসরণ করার জন্য কয়েকটি জিনিসের প্রয়োজন হবে৷

পূর্বশর্ত

  • একটি AppSignal অ্যাকাউন্ট: আপনার যদি এটি না থাকে, তাহলে 30 দিনের বিনামূল্যের ট্রায়ালের জন্য সাইন আপ করুন৷
  • একটি রুবি অ্যাপ্লিকেশন: এই অ্যাপটি যেকোন সমর্থিত রুবি ফ্রেমওয়ার্কের উপর ভিত্তি করে তৈরি করা যেতে পারে, যেমন রেল, সিনাট্রা বা শুধু প্লেইন রুবি। উপরন্তু, এটি একটি উত্পাদন বা উন্নয়ন অ্যাপ্লিকেশন হতে পারে. আপনি যদি নিজের অ্যাপটি স্পিন করতে না চান, তাহলে সিনাট্রা অ্যাপের উদাহরণের কোডটি ক্লোন করুন যা আমরা এই টিউটোরিয়ালে ব্যবহার করব।

দ্রষ্টব্য:আপনি যদি এই টিউটোরিয়ালটি অনুসরণ করার জন্য আপনার নিজের অ্যাপ ব্যবহার করেন, তাহলে নিশ্চিত করুন যে আপনার অ্যাপটি সর্বশেষ অ্যাপসিগন্যাল রুবি রত্ন ব্যবহার করার জন্য কনফিগার করা হয়েছে, কারণ এই টিউটোরিয়ালে ব্যবহৃত উদাহরণগুলি এই ক্ষেত্রেই অনুমান করে৷

কাস্টম মেট্রিক্স কি?

আপনার অ্যাপের ত্রুটির হার, থ্রুপুট এবং কর্মক্ষমতা পরিমাপ করা ছাড়াও, আপনি আপনার নিজের অ্যাপের জন্য বিশেষভাবে তৈরি করা কাস্টম ডেটা পরিমাপ করতে আগ্রহী হতে পারেন। উদাহরণস্বরূপ, একটি নির্দিষ্ট সময়ের মধ্যে কতজন দর্শক আপনার অ্যাপে সাইন আপ করেছে, আপনার অ্যাপের ওয়েবসকেট স্তর কীভাবে পারফর্ম করছে এবং আরও অনেক কিছু নিয়ে আপনি আগ্রহী হতে পারেন।

এই ধরনের কাস্টমাইজ করা ক্ষেত্রে, আপনি AppSignal-এর মধ্যে একটি মান পরিমাপের টুল খুঁজে পেতে কষ্ট পেতে পারেন। পরিবর্তে, আপনাকে একটি কাস্টম মেট্রিক ব্যবহার করতে হবে। কাস্টম মেট্রিক্স হল অতিরিক্ত মেট্রিক যা আপনি আপনার অ্যাপ কিভাবে চলছে তার গভীর প্রেক্ষাপটের জন্য ডিফল্টের পাশাপাশি সংজ্ঞায়িত করেন।

পরবর্তীতে, আসুন শিখি কিভাবে আমাদের প্রথম কাস্টম মেট্রিক সেট আপ করতে হয়।

কাস্টম মেট্রিক্স সেট আপ করা হচ্ছে

আপনি আপনার অ্যাপ্লিকেশনের মধ্যে প্রায় যেকোনো ব্যবহারের ক্ষেত্রে একটি কাস্টম মেট্রিক সেট আপ করতে পারেন। আসুন একটি সাধারণ উদাহরণ দিয়ে শুরু করি যাতে আপনি বুঝতে পারেন কিভাবে সবকিছু একসাথে খাপ খায়।

প্রথম ধাপ হল একটি কাস্টম মেট্রিক সংজ্ঞায়িত করা যা AppSignal এ ট্র্যাক করা হবে। আপনি উপলব্ধ বিভিন্ন ধরনের মেট্রিক ব্যবহার করে একটি কাস্টম মেট্রিক সংজ্ঞায়িত করতে পারেন:

  • গেজ
  • কাউন্টার
  • ডিস্ট্রিবিউশন

দ্য গেজ কাস্টম মেট্রিক

AppSignal-এ, একটি গেজ কাস্টম মেট্রিক সময়ের সাথে বৃদ্ধি এবং হ্রাস মেট্রিক্স পরিমাপের জন্য দরকারী।

আমাদের উদাহরণ সিনাট্রা অ্যাপে মোট পোস্টের সংখ্যা পরিমাপ করতে একটি সাধারণ গেজ কাস্টম মেট্রিক সেট আপ করা যাক:

 

উপরে দেখানো কোডে, আমরা Appsignal::Helpers::Metrics ব্যবহার করি মডিউল এবং set_gauge কল করুন পদ্ধতি, যা তিনটি আর্গুমেন্ট গ্রহণ করে:

  • key :কাস্টম মেট্রিকের নাম। উদাহরণে, এটি হবে all_posts .
  • value - মেট্রিক বা "জিনিস" পরিমাপ করতে হবে। উপরে দেখানো উদাহরণে, এটি কেবলমাত্র মোট পোস্টের সংখ্যা।
  • tags - অতিরিক্ত এবং ঐচ্ছিক মেটাডেটা যা একটি কাস্টম মেট্রিকে যোগ করা যেতে পারে এবং আপনার ইচ্ছামত পরিমাপ করা ডেটা লেবেল করার জন্য উপযোগী। উদাহরণস্বরূপ, আমরা সহজেই posts_count ট্যাগ করতে পারি পরিবেশের জন্য হিসাব মেট্রিক, যেমনটি নীচে দেখানো হয়েছে:
 

দারুণ, আমরা আমাদের প্রথম কাস্টম গেজ মেট্রিক যোগ করেছি! কিন্তু আপনি যদি AppSignal-এ ফিরে যান, আপনার নতুন কাস্টম মেট্রিক দৃশ্যমান হবে না। পরিবর্তে, আপনি সম্ভবত ডিফল্ট ড্যাশবোর্ড দেখতে পাবেন, যেমনটি নীচে দেখানো হয়েছে:

আপনার রুবি অ্যাপের জন্য AppSignal-এ কাস্টম মেট্রিক্স ও সতর্কতা মাস্টার করুন

তাই কাস্টম মেট্রিক প্রদর্শিত করতে আপনাকে কি করতে হবে? আপনাকে একটি ড্যাশবোর্ড যোগ করতে হবে। একটি নতুন ড্যাশবোর্ড তৈরি করে শুরু করুন:

আপনার রুবি অ্যাপের জন্য AppSignal-এ কাস্টম মেট্রিক্স ও সতর্কতা মাস্টার করুন

তারপর একটি বর্ণনামূলক শিরোনাম এবং বিবরণ সহ আপনার নতুন ড্যাশবোর্ডের নাম দিন:

আপনার রুবি অ্যাপের জন্য AppSignal-এ কাস্টম মেট্রিক্স ও সতর্কতা মাস্টার করুন

কাস্টম ড্যাশবোর্ড যোগ করার সাথে, আপনাকে এখন কাস্টম মেট্রিকের জন্য একটি গ্রাফ যোগ করতে হবে:

আপনার রুবি অ্যাপের জন্য AppSignal-এ কাস্টম মেট্রিক্স ও সতর্কতা মাস্টার করুন

তারপর নতুন গ্রাফ সংজ্ঞায়িত করুন:

আপনার রুবি অ্যাপের জন্য AppSignal-এ কাস্টম মেট্রিক্স ও সতর্কতা মাস্টার করুন

এখানে নতুন গ্রাফ সেট আপ করার জন্য ক্ষেত্রগুলির একটি ব্রেকডাউন রয়েছে:

  • ক. শিরোনাম - নতুন গ্রাফের জন্য একটি বর্ণনামূলক শিরোনাম লিখুন৷
  • খ. বর্ণনা - এটি ঐচ্ছিক, তবে আপনি নতুন গ্রাফের জন্য একটি বিবরণ লিখতে পারেন৷
  • গ. মেট্রিক্স - এখানে আপনি মেট্রিকটি সংজ্ঞায়িত করবেন যা নতুন গ্রাফ দ্বারা পরিমাপ করা হবে এবং প্রদর্শিত হবে৷ এটি কাস্টম মেট্রিকের নাম, অথবা set_gauge-এ সংজ্ঞায়িত প্রথম আর্গুমেন্ট পদ্ধতি:all_posts . এই বিভাগে, আপনি ট্যাগগুলিও সংজ্ঞায়িত করতে পারেন (উদাহরণস্বরূপ, ট্যাগ পরিবেশ দেখানো হিসাবে অন্তর্ভুক্ত করা হয়েছে)।
  • d. গ্রাফ প্রদর্শন - এখানেই আপনি আপনার নতুন গ্রাফের জন্য গ্রাফ প্রদর্শনের ধরনটি চয়ন করেন৷
  • ই। লিজেন্ড লেবেল - আপনি এখানে চার্ট লিজেন্ডের জন্য লেবেল কাস্টমাইজ করতে পারেন।
  • চ. ডেটা বিন্যাস - গ্রাফ প্রদর্শনের জন্য ব্যবহৃত ডেটা টাইপ সংজ্ঞায়িত করুন। আপনি সংখ্যা, শতাংশ, থ্রুপুট (অনুরোধ/মিনিট বা ঘন্টা), সময়কাল (মিলিসেকেন্ডে), বা ফাইলের আকার (বাইটে) সহ বেশ কয়েকটি ফর্ম্যাট থেকে চয়ন করতে পারেন।

একবার আপনি নতুন গ্রাফের বৈশিষ্ট্যগুলি সঠিকভাবে সংজ্ঞায়িত করলে, আপনার কাস্টম মেট্রিকের জন্য একটি গ্রাফ পাওয়া উচিত। এটি নীচে যা দেখানো হয়েছে তার অনুরূপ:

আপনার রুবি অ্যাপের জন্য AppSignal-এ কাস্টম মেট্রিক্স ও সতর্কতা মাস্টার করুন

এগিয়ে চলুন, আসুন পরবর্তী কাস্টম মেট্রিক টাইপ দেখি:কাউন্টার।

কাউন্টার কাস্টম মেট্রিক

একটি কাউন্টার কাস্টম মেট্রিক একটি ঘটনা কতবার ঘটবে তা পরিমাপ করার জন্য দুর্দান্ত। উদাহরণ অ্যাপ্লিকেশন ব্যবহার করে, আমরা প্রতিবার হোম (রুট) পৃষ্ঠাটি পরিদর্শন করার জন্য পরিমাপের জন্য একটি কাউন্টার মেট্রিক প্রয়োগ করতে পারি।

শুরুতে, নীচে দেখানো কোডটি অন্তর্ভুক্ত করতে রুট পদ্ধতি সম্পাদনা করুন:

 

এখানে, আমরা AppSignal এর increment_counter ব্যবহার করি পদ্ধতি এবং পাস করুন visits_count প্রথম যুক্তি হিসাবে। বৃদ্ধির ধাপ হল পূর্ণসংখ্যা 1, দ্বিতীয় যুক্তি হিসাবে পাস করা হয়েছে। আপনি একটি tags যোগ করতে পারেন তৃতীয় আর্গুমেন্ট হিসাবে হ্যাশ, কিন্তু আমরা এটিকে রেখে দেব (যেহেতু এটি পূর্ববর্তী বিভাগে কভার করা হয়েছিল)।

এখন এগিয়ে যান এবং গেজ মেট্রিক প্রকারের রূপরেখা অনুযায়ী ধাপগুলি অনুসরণ করুন৷ এই কাউন্টার মেট্রিকের জন্য একটি কাস্টম গ্রাফ যোগ করুন যাতে আপনাকে দেখানো একটির অনুরূপ গ্রাফ দিতে হয়:

আপনার রুবি অ্যাপের জন্য AppSignal-এ কাস্টম মেট্রিক্স ও সতর্কতা মাস্টার করুন

আসুন ডিস্ট্রিবিউশন কাস্টম মেট্রিকে গিয়ার স্যুইচ করি।

ডিস্ট্রিবিউশন কাস্টম মেট্রিক

অ্যাপসিগন্যাল ডিস্ট্রিবিউশন কাস্টম মেট্রিক প্রতি ইউনিট সময় কিছু পরিমাপের জন্য দরকারী:উদাহরণস্বরূপ, একটি পিডিএফ রিপোর্ট তৈরি করতে কত সেকেন্ড সময় লাগে, বা একটি ব্যাকগ্রাউন্ড কাজ সম্পাদন করতে কতক্ষণ সময় লাগে৷

উদাহরণ অ্যাপ্লিকেশন ব্যবহার করে, একটি খোলা API শেষ পয়েন্টে একটি কল অন্তর্ভুক্ত করতে মূল ফাইলটি পরিবর্তন করা যাক। তারপরে, API কল কতক্ষণ মিলিসেকেন্ডে লাগে তা পরিমাপ করতে আমরা একটি কাস্টম বিতরণ ব্যবহার করব৷

 

এখন, আমরা যদি AppSignal-এ ফিরে যাই, আমরা কাস্টম ডিস্ট্রিবিউশনকে গ্রাফ হিসাবে দেখতে পারি।

টিপ:আপনি কাস্টম গ্রাফ ভিজ্যুয়ালাইজেশন সেট আপ করতে গেজ বিভাগে বর্ণিত ধাপগুলি অনুসরণ করতে পারেন৷

আপনার রুবি অ্যাপের জন্য AppSignal-এ কাস্টম মেট্রিক্স ও সতর্কতা মাস্টার করুন

এখন যেহেতু আপনি কাস্টম মেট্রিক্স এবং সহগামী গ্রাফ ভিজ্যুয়ালাইজেশনগুলি কীভাবে তৈরি করতে হয় তা শিখেছেন, আপনি হয়তো লক্ষ্য করেছেন যে আপনার অ্যাপের সাথে কী ঘটছে তা দেখতে AppSignal ড্যাশবোর্ডগুলিতে ফিরে যাওয়া খুব সুবিধাজনক নয়। পরিবর্তে, আপনি যদি আপনার কাস্টম মেট্রিক্সের জন্য একটি বিজ্ঞপ্তি পেতে পারেন তবে এটি খুব সহজ হবে, তাই না?

আসুন পরবর্তীতে আপনার কাস্টম মেট্রিক্সের জন্য বিজ্ঞপ্তিগুলি কীভাবে সেট আপ করবেন তা শিখি৷

বিজ্ঞপ্তি সতর্কতা

ডিফল্টরূপে, যখনই একটি ত্রুটি বা কর্মক্ষমতা ইভেন্ট ঘটে, AppSignal সেই ইভেন্টের জন্য একটি ঘটনা খুলবে এবং এটি প্রাসঙ্গিক বিভাগে স্থাপন করবে। উদাহরণস্বরূপ, যদি এটি একটি ত্রুটি হয় তবে আপনি এটি ত্রুটির তালিকায় পাবেন, যখন কর্মক্ষমতা ঘটনাগুলি কর্মক্ষমতা তালিকায় থাকবে৷

উপরন্তু, AppSignal ইমেলের মাধ্যমে ঘটনার বিজ্ঞপ্তি পাঠায় (ডিফল্ট বিজ্ঞপ্তি চ্যানেল)। আপনি অন্যান্য বিজ্ঞপ্তি চ্যানেলগুলিও সেট আপ করতে পারেন, যেমন:

  • বিরোধ
  • Google Hangouts
  • ইন্টারকম
  • Microsoft Teams
  • স্ল্যাক
  • ওয়েবহুক

এবং আরো।

কিন্তু আমরা আমাদের কাস্টম মেট্রিকগুলির একটির জন্য একটি বিজ্ঞপ্তি ট্রিগার সেট আপ করার আগে, আপনার জন্য উপলব্ধ বিভিন্ন বিজ্ঞপ্তি বিকল্পগুলি সম্পর্কে সচেতন হওয়া গুরুত্বপূর্ণ৷

শুরুতে, আপনি এর জন্য একটি বিজ্ঞপ্তি সেট আপ করতে পারেন:

  • প্রতিবারই - এখানে, প্রতিবার একটি ঘটনা ঘটলে একটি বিজ্ঞপ্তি পাঠানো হবে৷
  • প্রথম স্থাপন৷ - এটি ইঙ্গিত দেয় যে একটি স্থাপনার পরে প্রথমবার একটি ঘটনা ঘটলে একটি বিজ্ঞপ্তি পাঠানো হবে৷
  • প্রথম পরে বন্ধ - এখানে, আগেরটি বন্ধ হওয়ার পর যখনই কোনো ঘটনা পুনরায় ঘটে তখন একটি বিজ্ঞপ্তি পাঠানো হয়৷
  • কখনও অবহিত করবেন না - নাম অনুসারে, এই ক্ষেত্রে, কোনও বিজ্ঞপ্তি কখনই পাঠানো হবে না, তবে ত্রুটি বা কার্যকারিতা ঘটনাটি এখনও অ্যাপসিগন্যালে ট্র্যাক করা হবে৷
  • প্রতি nম ঘণ্টায় বা দিনে - এই বিকল্পের সাহায্যে, আপনি নির্দিষ্ট করতে পারেন কতটি সতর্কতা আপনাকে এক ঘন্টা বা একদিনের মধ্যে পাঠানো হবে। এই বিকল্পটি গুরুত্বপূর্ণ ইভেন্টগুলির বিজ্ঞপ্তি পাওয়া এবং অনেকগুলি বিজ্ঞপ্তি থাকার মধ্যে ভারসাম্য বজায় রাখার জন্য উপযুক্ত (যা আপনাকে বা আপনার দলকে সহজেই অভিভূত করতে পারে)।

এই বিকল্পগুলি সম্পর্কে আরও তথ্য পেতে আমি আপনাকে AppSignal-এর বিজ্ঞপ্তি সেটিংস ডকুমেন্টেশনে খনন করার পরামর্শ দিচ্ছি৷

আসুন আমরা আগে যে কাস্টম মেট্রিক্স তৈরি করেছি তার একটির জন্য কীভাবে একটি বিজ্ঞপ্তি সেট আপ করবেন তা দেখা যাক। এটি একটি তুচ্ছ উদাহরণ হবে, কিন্তু এটি আপনার নিজের ব্যবহারের ক্ষেত্রে আপনাকে যে ধাপগুলি অতিক্রম করতে হবে তা ব্যাখ্যা করবে৷

আপনার কাস্টম মেট্রিক্সের জন্য বিজ্ঞপ্তি সতর্কতা সেট আপ করা

এই উদাহরণের জন্য, আমরা ডিস্ট্রিবিউশন মেট্রিক ব্যবহার করব যা এই পোস্টে API কলের সময়কাল পরিমাপ করেছিল। ধরা যাক যখনই গড় সময়কাল একটি নির্দিষ্ট সংখ্যা (মিলিসেকেন্ডে) অতিক্রম করে তখনই আমরা একটি ইমেল সতর্কতা পেতে চাই৷

এটি সেট আপ করার পদক্ষেপগুলি নীচে দেখানো হয়েছে:

আপনার রুবি অ্যাপের জন্য AppSignal-এ কাস্টম মেট্রিক্স ও সতর্কতা মাস্টার করুন

প্রথমত, ট্রিগার টিপে শুরু করুন বাম-হাতের মেনুতে লিঙ্ক।

আপনার রুবি অ্যাপের জন্য AppSignal-এ কাস্টম মেট্রিক্স ও সতর্কতা মাস্টার করুন

আপনার ট্রিগারটিকে একটি প্রাসঙ্গিক নাম দিন, তারপরে এই বিজ্ঞপ্তিটি যে পরিমাপটির উদ্দেশ্যে করা হয়েছে সেটি নির্বাচন করুন৷ এই উদাহরণে, আমরা fetch_books_duration ব্যবহার করছি বিতরণ কাস্টম মেট্রিক। আপনি চাইলে ট্যাগ যোগ করতে পারেন।

এর পরে, তুলনা অপারেটর এবং চেক করার মান নির্ধারণ করুন। উদাহরণস্বরূপ, ধরা যাক যখনই সময়কাল 1600 মিলিসেকেন্ড অতিক্রম করে তখন আমরা একটি সতর্কতা পেতে চাই৷ এর জন্য, আমরা তুলনা অপারেটর নির্বাচন করব এর চেয়ে বেশি , তারপর, 1600 এর মান।

আপনার রুবি অ্যাপের জন্য AppSignal-এ কাস্টম মেট্রিক্স ও সতর্কতা মাস্টার করুন

অবশেষে, আপনাকে সতর্কতা ওয়ার্ম-আপ এবং কুলডাউন সেটিংস সংজ্ঞায়িত করতে হবে। সতর্কতার জন্য একটি বিবরণ প্রদান করুন, সতর্কতা বার্তায় অন্তর্ভুক্ত করার জন্য ড্যাশবোর্ডের একটি লিঙ্ক (যদি প্রয়োজন হয়), এবং অবশেষে, বিজ্ঞপ্তি পদ্ধতি (ইমেলটি ডিফল্ট হওয়া সহ)।

আপনার রুবি অ্যাপের জন্য AppSignal-এ কাস্টম মেট্রিক্স ও সতর্কতা মাস্টার করুন

এটি হয়ে গেলে, যখনই আপনি এখানে ইনপুট করা সেটিংসের সাথে মিলে একটি ঘটনা ঘটবে তখনই আপনি একটি বিজ্ঞপ্তি পাবেন৷

আর এটাই!

র্যাপিং আপ

এই প্রবন্ধে, আমরা শিখেছি কিভাবে AppSignal-এ ড্যাশবোর্ড এবং গ্রাফ ভিজ্যুয়ালাইজেশনের সাথে একটি রুবি অ্যাপ্লিকেশনের জন্য কাস্টম মেট্রিক্স সেট আপ করতে হয়।

অ্যাপসিগন্যাল যে কাস্টম মেট্রিক্স কার্যকারিতা অফার করে তা খুব শক্তিশালী অ্যাপ্লিকেশনগুলির জন্য সূক্ষ্ম-টিউন করা যেতে পারে। আরও সম্ভাবনাগুলি আবিষ্কার করতে AppSignal-এর কাস্টম মেট্রিক্স ডকুমেন্টেশনে গভীরভাবে ডুব দিন৷

পরের বার পর্যন্ত, খুশি কোডিং!

পি.এস. আপনি যদি রুবি ম্যাজিক পোস্টগুলি প্রেস থেকে বের হওয়ার সাথে সাথে পড়তে চান তবে আমাদের রুবি ম্যাজিক নিউজলেটারে সাবস্ক্রাইব করুন এবং একটি পোস্ট মিস করবেন না!


  1. অ্যান্ড্রয়েড CopyOnWriteArraySet এ clear() কিভাবে ব্যবহার করবেন?

  2. অ্যান্ড্রয়েড স্কিলাইটে দুটি কলাম কীভাবে কনক্যাট করবেন?

  3. C# কোডের জন্য ইউনিট টেস্টিং

  4. উদাহরণ সহ জাভাস্ক্রিপ্টে ত্রুটির নামের মানগুলি ব্যাখ্যা করুন।