কাস্টম মেট্রিক্সের সাথে গভীর অন্তর্দৃষ্টি
AppSignal রত্ন দিয়ে আপনি ইতিমধ্যেই আপনার অ্যাপ্লিকেশন কর্মক্ষমতা সম্পর্কে আরও বিশদ পেতে কাস্টম ইন্সট্রুমেন্টেশন ব্যবহার করতে পারেন। কিন্তু কখনও কখনও আপনি অন্যান্য মেট্রিক্সও ট্র্যাক করতে চান৷
৷
1.0
সহ আমাদের রত্ন প্রকাশ, আপনি AppSignal এ কাস্টম মেট্রিক্স পাঠাতে পারেন। এই মেট্রিকগুলি আপনাকে আপনার অ্যাপ্লিকেশনের যেকোনো কিছু ট্র্যাক করতে সক্ষম করে, নতুন অ্যাকাউন্ট থেকে ডাটাবেস ডিস্ক ব্যবহার পর্যন্ত। এগুলি কোড ইন্সট্রুমেন্টেশনের প্রতিস্থাপন নয়, তবে আপনার কোডের নির্দিষ্ট ডেটাকে সময়ের সাথে আরও অ্যাক্সেসযোগ্য এবং পরিমাপযোগ্য করার একটি অতিরিক্ত উপায়৷
আমরা তিন ধরনের মেট্রিক্স অফার করি:
গেজ | ব্যবহারকারীর সংখ্যার মতো জিনিসগুলি সংরক্ষণ করার জন্য আপনি ওভাররাইট করতে পারেন এমন একটি সংখ্যা। |
---|---|
কাউন্টার | একটি সংখ্যা যা প্রদত্ত মান দ্বারা বৃদ্ধি করা যেতে পারে, উদাহরণস্বরূপ একটি প্রক্রিয়া চলার সময় গণনা করার জন্য দরকারী৷ |
ডিস্ট্রিবিউশন | সংখ্যার একটি সংগ্রহ যার জন্য আমরা গড় এবং গণনা সংরক্ষণ করি। গড় বিক্রয় পরিমাণ ট্র্যাক করতে দরকারী। |
AppSignal রত্ন এই মেট্রিক্স ধরনের প্রতিটি জন্য একটি পদ্ধতি আছে. আপনি আমাদের সিস্টেমে ডেটা পাঠাতে এই পদ্ধতিগুলি ব্যবহার করতে পারেন৷
গেজ
গেজটি মেট্রিকগুলির জন্য আদর্শ যা বৃদ্ধি এবং হ্রাস উভয়ই করতে পারে৷ সক্রিয় অ্যাকাউন্টের সংখ্যা গ্রাফ করতে আমরা AppSignal-এ গেজ ব্যবহার করি।
count = Account.active.count
Appsignal.set_gauge('account_count', count)
কাউন্টার
নাম অনুসারে, কাউন্টারগুলি কতবার কিছু ঘটে তা ট্র্যাক রাখার একটি দুর্দান্ত উপায়। আমাদের কর্মীরা একটি পেলোড প্রক্রিয়া করে যাতে একাধিক ডেটা পয়েন্ট থাকে। এর অর্থ হল কাজের গণনা আমরা যে পরিমাণ ডেটা প্রক্রিয়া করি তা সঠিকভাবে উপস্থাপন করে না। কাউন্টার দিয়ে আমরা প্রতিটি ডেটা পয়েন্টের জন্য আমরা প্রক্রিয়াজাত করি।
minute.metrics.each do |metric|
Appsignal.increment_counter('metric_count', metric.length)
end
বন্টন
কোডের একটি অংশ কার্যকর করতে যে গড় সময় লাগে তা পরিমাপ করতে আমরা ডিস্ট্রিবিউশন ব্যবহার করি৷ উদাহরণস্বরূপ একটি কাজ একাধিক মানচিত্র চালাতে পারে/কমানোর কাজ করতে পারে এবং যদিও আমরা ইন্সট্রুমেন্টেশনের মাধ্যমে সময়কাল ট্র্যাক করি, তবুও আমরা প্রতিটি কাজের জন্য গড় সময়কাল দেখতে চাই চমৎকার গ্রাফ।
Appsignal.add_distribution_value('mapreduce_duration', MapReduce::Minutely.new.run.time)
মেট্রিক্সকে গ্রাফে পরিণত করা
অ্যাপসিগন্যালে মেট্রিক্স পাঠানো গল্পের মাত্র অর্ধেক, ডেটা পাঠানোর পরে আমাদের মেট্রিক্স দেখানোর জন্য গ্রাফ তৈরি করতে হবে। আমরা "কাস্টম মেট্রিক্স" পৃষ্ঠার সম্পাদকে এটি করি৷
৷আমাদের কাস্টম মেট্রিক্স বৈশিষ্ট্য আপনাকে গ্রাফ সহ একাধিক স্ক্রিন তৈরি করতে দেয়। আপনি YAML ফর্ম্যাটের মাধ্যমে এই স্ক্রিনে স্ক্রীন এবং গ্রাফগুলি সংজ্ঞায়িত করতে পারেন৷
উদাহরণস্বরূপ অ্যাকাউন্ট রিলিড গ্রাফ সহ একটি স্ক্রিন তৈরি করতে, অ্যাকাউন্টের সংখ্যা সহ একটি গ্রাফ দেখানোর জন্য আপনি নিম্নলিখিত YAML ব্যবহার করতে পারেন:
- title: Account overview
graphs:
- title: "Number of accounts"
kind: gauge
format: number
fields:
- account_count
এর ফলে নিম্নলিখিত পৃষ্ঠাটি আসবে:
ক্ষেত্র সহ একটি তালিকার পরিবর্তে আপনি একটি রেজেক্স প্রদান করতে পারেন যা এক বা একাধিক মেট্রিক নামের সাথে মেলে। নীচের উদাহরণটি একটি 3য় পক্ষের API-এর জন্য প্রতিটি API প্রতিক্রিয়া কোডের লাইন সহ একটি গ্রাফ রেন্ডার করে৷
- title: API Responses
graphs:
- title: "API response codes"
kind: count
filter: "api_response_code_[0-9]+"
format: number
অ্যাপসিগন্যালের সাহায্যে আপনি এখন ট্র্যাক করতে পারেন এমন অনেকগুলি দরকারী মেট্রিকের মধ্যে কয়েকটি মাত্র। কাস্টম মেট্রিক্স সম্পর্কে আরও তথ্যের জন্য, আমাদের ডকুমেন্টেশন চেক করুন বা আপনার অ্যাকাউন্টের জন্য এটি সেট আপ করার জন্য কোনো সাহায্যের প্রয়োজন হলে আমাদের সাথে যোগাযোগ করুন।