TPL DataFlow StatisticsWhat are the use cases for TPL Dataflow over Reactive Extensions (Rx)Tasks vs. TPL Dataflow vs. Async/Await, which to use when?TPL Dataflow: design for parallelism while keeping orderDo you need to wait for completion on a TPL Dataflow DataflowBlock.NullTarget<T>Multiple Short-lived TPL Dataflows versus Single Long-Running FlowTPL Dataflow with Railway ProgrammingTPL Block with round robin link?Is TPL Dataflow BufferBlock thread safe?TPL Dataflow: Why does EnsureOrdered = false destroy parallelism for this TransformManyBlock?Reopen TPL Dataflow input after marking it complete

How to delete a line from a variable?

"DDoouubbllee ssppeeaakk!!"

Should students have access to past exams or an exam bank?

top-aligned marginpar on wrong side (even/odd) after pagebreak

For attacks with ranged weapons, is the attacker's Dexterity bonus added to the damage roll?

Guidelines for writing a chord progression

Convert research into business

A conjectural trigonometric identity

What are the effects of the elements on 3D printed objects made with "infused" PLA

Can I shorten this filter, that finds disk sizes over 100G?

How to trick a fairly simplistic kill-counter?

Why don't short runways use ramps for takeoff?

IBM mainframe classic executable file formats

Should I put my name first or last in the team members list?

Why do we need a voltage divider when we get the same voltage at the output as the input?

Using Python in a Bash Script

What is my clock telling me to do?

How can flights operated by the same company have such different prices when marketed by another?

Reasons for using monsters as bioweapons

How can a class have multiple methods without breaking the single responsibility principle

Solve the mystery of the poisonous chemical

Russian pronunciation of /etc (a directory)

Should 2FA be enabled on service accounts?

How to get Planck length in meters to 6 decimal places



TPL DataFlow Statistics


What are the use cases for TPL Dataflow over Reactive Extensions (Rx)Tasks vs. TPL Dataflow vs. Async/Await, which to use when?TPL Dataflow: design for parallelism while keeping orderDo you need to wait for completion on a TPL Dataflow DataflowBlock.NullTarget<T>Multiple Short-lived TPL Dataflows versus Single Long-Running FlowTPL Dataflow with Railway ProgrammingTPL Block with round robin link?Is TPL Dataflow BufferBlock thread safe?TPL Dataflow: Why does EnsureOrdered = false destroy parallelism for this TransformManyBlock?Reopen TPL Dataflow input after marking it complete






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








0















So I've recently started working with the TPL dataflow library. I wanted to run a task that would periodically output statistics related to one or more blocks in my data flow. In a propagator block I would like to output how many items are waiting to be processed, how many items are waiting to be passed to the next block, and how many items have been processed by the block since it was started.



I was surprised to discover that there are seemingly no buffer count properties exposed by any of the dataFlow interfaces. For example, the TransformManyBlock class implements InputCount and OutputCound properties, but those properties are not defined by any of the interfaces that TransformManyBlock implements. This makes it tough to create a general method that takes any IPropagatorBlock and keeps running statistics about the flow of data through that block.



Is there anyway to hook into a dataFlow block in a general way to be informed of how many messages are being queued and/or processed by that block?










share|improve this question
























  • Check out DataflowEx Logging it may have just what your looking for. Or you could extend the IPropagatorBlock interfaces yourself.

    – JSteward
    Mar 27 at 0:55

















0















So I've recently started working with the TPL dataflow library. I wanted to run a task that would periodically output statistics related to one or more blocks in my data flow. In a propagator block I would like to output how many items are waiting to be processed, how many items are waiting to be passed to the next block, and how many items have been processed by the block since it was started.



I was surprised to discover that there are seemingly no buffer count properties exposed by any of the dataFlow interfaces. For example, the TransformManyBlock class implements InputCount and OutputCound properties, but those properties are not defined by any of the interfaces that TransformManyBlock implements. This makes it tough to create a general method that takes any IPropagatorBlock and keeps running statistics about the flow of data through that block.



Is there anyway to hook into a dataFlow block in a general way to be informed of how many messages are being queued and/or processed by that block?










share|improve this question
























  • Check out DataflowEx Logging it may have just what your looking for. Or you could extend the IPropagatorBlock interfaces yourself.

    – JSteward
    Mar 27 at 0:55













0












0








0








So I've recently started working with the TPL dataflow library. I wanted to run a task that would periodically output statistics related to one or more blocks in my data flow. In a propagator block I would like to output how many items are waiting to be processed, how many items are waiting to be passed to the next block, and how many items have been processed by the block since it was started.



I was surprised to discover that there are seemingly no buffer count properties exposed by any of the dataFlow interfaces. For example, the TransformManyBlock class implements InputCount and OutputCound properties, but those properties are not defined by any of the interfaces that TransformManyBlock implements. This makes it tough to create a general method that takes any IPropagatorBlock and keeps running statistics about the flow of data through that block.



Is there anyway to hook into a dataFlow block in a general way to be informed of how many messages are being queued and/or processed by that block?










share|improve this question














So I've recently started working with the TPL dataflow library. I wanted to run a task that would periodically output statistics related to one or more blocks in my data flow. In a propagator block I would like to output how many items are waiting to be processed, how many items are waiting to be passed to the next block, and how many items have been processed by the block since it was started.



I was surprised to discover that there are seemingly no buffer count properties exposed by any of the dataFlow interfaces. For example, the TransformManyBlock class implements InputCount and OutputCound properties, but those properties are not defined by any of the interfaces that TransformManyBlock implements. This makes it tough to create a general method that takes any IPropagatorBlock and keeps running statistics about the flow of data through that block.



Is there anyway to hook into a dataFlow block in a general way to be informed of how many messages are being queued and/or processed by that block?







task-parallel-library dataflow






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Mar 26 at 23:07









smarcaurelesmarcaurele

2152 silver badges8 bronze badges




2152 silver badges8 bronze badges















  • Check out DataflowEx Logging it may have just what your looking for. Or you could extend the IPropagatorBlock interfaces yourself.

    – JSteward
    Mar 27 at 0:55

















  • Check out DataflowEx Logging it may have just what your looking for. Or you could extend the IPropagatorBlock interfaces yourself.

    – JSteward
    Mar 27 at 0:55
















Check out DataflowEx Logging it may have just what your looking for. Or you could extend the IPropagatorBlock interfaces yourself.

– JSteward
Mar 27 at 0:55





Check out DataflowEx Logging it may have just what your looking for. Or you could extend the IPropagatorBlock interfaces yourself.

– JSteward
Mar 27 at 0:55












0






active

oldest

votes










Your Answer






StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");

StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55367466%2ftpl-dataflow-statistics%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes




Is this question similar to what you get asked at work? Learn more about asking and sharing private information with your coworkers using Stack Overflow for Teams.







Is this question similar to what you get asked at work? Learn more about asking and sharing private information with your coworkers using Stack Overflow for Teams.



















draft saved

draft discarded
















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55367466%2ftpl-dataflow-statistics%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Obelisk of Theodosius Contents History Description Notes Bibliography Further reading External links Navigation menuAge of spirituality : late antique and early Christian art, third to seventh centuryOver 60 picturesObelisks of the World41°00′21.24″N 28°58′31.43″E / 41.0059000°N 28.9753972°E / 41.0059000; 28.97539727724550-7235741376235741376

밀양 대씨 역사 각주 함께 보기 둘러보기 메뉴밀양 대씨

1973년 목차 사건 문화 탄생 사망 노벨상 달력 둘러보기 메뉴